Re: Apache SOAP 2.3.1 with Weblogic 8.1

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