Re: Apache SOAP 2.3.1 with Weblogic 8.1

Jonathan Taub <[email protected]> Mon, 18 Jul 2005 11:54:50 -0700
Newsgroups gmane.text.xml.soap.user
Message-ID <OF87C18F1C.5EF68B4F-ON88257042.0067E09B-88257042.0067E5EB@symantec.com>
Me too, spent so many hours.
Such is a life of a programmer.




"Martin Gainty" <[email protected]> 
07/18/2005 11:54 AM
Please respond to
[email protected]


To
<[email protected]>
cc

Subject
Re: Apache SOAP 2.3.1 with Weblogic 8.1






Glad to hear thats working for you
Martin Gainty-
----- Original Message ----- 
From: Jonathan Taub 
To: [email protected] 
Sent: Monday, July 18, 2005 2:29 PM
Subject: Re: Apache SOAP 2.3.1 with Weblogic 8.1


Thanks. 

Got it to work with Apache Axis. 
Worked like a charm the first time. 



"Martin Gainty" <[email protected]> 
07/18/2005 11:25 AM 

Please respond to
[email protected]



To
<[email protected]> 
cc

Subject
Re: Apache SOAP 2.3.1 with Weblogic 8.1








Jonathan- 
In Axis There are 3 namespaces you must specify 
(WSDL,<SOAP>Schema,<soap>bind)
For implementaqtion characteristics take a look at 
http://www.javaworld.com/javaworld/jw-10-2003/images/jw-1003-wsstyles.gif

I think in your case you are looking for wsdl? tns or TargetNameSpace in 
which case you would use 
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl"
           targetNamespace="your namespace here"
           xmlns:tns="your namespace here"
           xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap">

Keep in mind you will have to declare your Schema namespaces within the 
wsdl:definitions 
 <wsdl:types>
       <xs:schema targetNamespace="your namespace here (could be another) 
"
           xmlns:xsd="http://www.w3.org/2001/XMLSchema"
           <!-- Define types and possibly elements here -->
       </schema>
</wsdl:types>

And of course specify the glue that binds the transport and style 
   <wsdl:binding name="your binding name" type="tns:port type name above">
       <!-- define style and transport in general and use per operation 
-->
   </wsdl:binding>

Take a look at this excellent primer 
http://www.javaworld.com/javaworld/jw-10-2003/jw-1003-wsstyles.html 
HTH, 
Martin- 
----- Original Message ----- 
From: Jonathan Taub 
To: [email protected] 
Sent: Monday, July 18, 2005 1:05 PM 
Subject: Re: Apache SOAP 2.3.1 with Weblogic 8.1 


It does use the wrong namespace. 
That is my questions. Why and how do I change it? 


Anne Thomas Manes <[email protected]> 
07/17/2005 06:48 PM 

Please respond to
[email protected]



To
[email protected] 
cc

Subject
Re: Apache SOAP 2.3.1 with Weblogic 8.1










My guess is that you're using the wrong namespace for the
ebDecodeSubRequest type. Do you have a WSDL for the service? It will
tell you what namespaces you must use.

Unless you have a compelling reason to use Apache SOAP, I suggest you
upgrade to Apache Axis (see http://ws.apache.org/axis).

Anne

On 7/15/05, Jonathan Taub <[email protected]> wrote:
> 
> I've written a simple client using Apache SOAP. 
> My webservice is deplyed on Weblogic. 
> Using a proxy, this is what I send: 
> 
> <?xml version='1.0' encoding='UTF-8'?> 
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
> <SOAP-ENV:Body> 
> <ns1:decodeSubscriptions
> xmlns:ns1="http://localhost:7001/Entitlement/EBERenewalService"
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
> <ebDecodeSubRequest xmlns:ns2="java:com.symantec.eb.renewal.ws"
> xsi:type="ns2:ebDecodeSubRequest"> 
> <NOS xsi:type="xsd:string">------------</NOS> 
> <requestVendor xsi:type="ns2:EbVendorInfo"> 
> <vendorID xsi:type="xsd:int">----------</vendorID> 
> <vendorPW xsi:type="xsd:string">----------</vendorPW> 
> <vendorSiteID xsi:type="xsd:int">----------</vendorSiteID> 
> </requestVendor> 
> </ebDecodeSubRequest> 
> </ns1:decodeSubscriptions> 
> </SOAP-ENV:Body> 
> </SOAP-ENV:Envelope> 
> 
> I get back from Weblogic: 
> 
> SOAP Fault: [Attributes={}] [faultCode=env:Server] 
[faultString=Exception
> during processing:
> weblogic.xml.schema.binding.DeserializationException: type
> mapping lookup failure on
> type=['java:com.symantec.eb.renewal.ws']:ns2:ebDecodeSubRequest
> TypeMapping=TYPEMAPPING SIZE=36 
> ENTRY 1: 
> ... (I'm saving you the clutter) 
> ENTRY 2: 
> ... (I'm saving you the clutter) 
> ENTRY 3: 
>  class:    com.symantec.eb.renewal.ws.EbDecodeSubRequest 
>  xsd_type: ['java:com.symantec.eb.renewal.ws']:p4:EbDecodeSubRequest 
>  ser: 
> com.symantec.eb.renewal.ws.EbDecodeSubRequestCodec@2d8a59 
>  deser: 
> com.symantec.eb.renewal.ws.EbDecodeSubRequestCodec@1d60b6a
> 
> 
> If you're familiar with Weblogic's webservice web application console, 
this
> is the request I'm sending through it: 
> 
> <env:Envelope 
> xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" 
>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
>   xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
>   xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
>  <env:Body 
> env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
>   <m:decodeSubscriptions 
> xmlns:m="http://www.symantec.com/webservices/ebe"> 
>    <ebDecodeSubRequest     xmlns:n1="java:com.symantec.eb.renewal.ws" 
>      xsi:type="n1:EbDecodeSubRequest"> 
>     <NOS      xsi:type="xsd:string">----------------</NOS> 
>     <requestVendor      xsi:type="n1:EbVendorInfo"> 
>      <vendorID       xsi:type="xsd:int">-----</vendorID> 
>      <vendorPW       xsi:type="xsd:string">-----</vendorPW>
>      <vendorSiteID 
> xsi:type="xsd:int">-----</vendorSiteID> 
>     </requestVendor> 
>    </ebDecodeSubRequest> 
>   </m:decodeSubscriptions> 
>  </env:Body> 
> </env:Envelope> 
> 
> 
> There are some differences. Namespaces and <env:Envelope> versus
> <SOAP-ENV:Envelope> 
> 
> Has someone experienced a similiar problem? 
> 
> Does it has something to do with Xerces parser? 
> 
> I would very much like *not* to touch the server side. 
> Thanks.