Re: Apache SOAP 2.3.1 with Weblogic 8.1

"Martin Gainty" <[email protected]> Mon, 18 Jul 2005 14:25:36 -0400
Newsgroups gmane.text.xml.soap.user
Message-ID <[email protected]>
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.