Re: Apache SOAP 2.3.1 with Weblogic 8.1
Jonathan Taub <[email protected]> Mon, 18 Jul 2005 11:29:50 -0700
| Newsgroups | gmane.text.xml.soap.user |
|---|---|
| Message-ID | <OF6B59D1E5.0EDFDFBA-ON88257042.00659669-88257042.00659C0C@symantec.com> |
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.