[jboss-user] [JBossWS] - Re: Problem with User defined object in Jboss web service

zohar_sap do-not-reply at jboss.com
Mon Aug 28 09:29:36 EDT 2006


Sorry, But I still had a problem posting the WSDL. This time it should work:

1. This is the WSDL that is generated by the .Net client: 

<?xml version="1.0" encoding="utf-8"?>
  | <definitions xmlns:tns="http://org/jaws" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TestFacadeService" targetNamespace="http://org/jaws" xmlns="http://schemas.xmlsoap.org/wsdl/">
  |   <types>
  |     <xsd:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://org/jaws">
  |       <xsd:complexType name="MyClass">
  |         <xsd:sequence>
  |           <xsd:element name="a" nillable="true" type="xsd:string" />
  |         </xsd:sequence>
  |       </xsd:complexType>
  |     </xsd:schema>
  |   </types>
  |   <message name="TestFacade_Test1">
  |     <part name="String_1" type="xsd:string" />
  |     <part name="MyClass_1" type="tns:MyClass" />
  |   </message>
  |   <message name="TestFacade_Test1Response">
  |     <part name="result" type="xsd:string" />
  |   </message>
  |   <portType name="TestFacade">
  |     <operation name="Test1" parameterOrder="String_1 MyClass_1">
  |       <input message="tns:TestFacade_Test1" />
  |       <output message="tns:TestFacade_Test1Response" />
  |     </operation>
  |   </portType>
  |   <binding name="TestFacadeBinding" type="tns:TestFacade">
  |     <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc" />
  |     <operation name="Test1">
  |       <soap:operation soapAction="" />
  |       <input>
  |         <soap:body use="literal" namespace="http://org/jaws" />
  |       </input>
  |       <output>
  |         <soap:body use="literal" namespace="http://org/jaws" />
  |       </output>
  |     </operation>
  |   </binding>
  |   <service name="TestFacadeService">
  |     <port name="TestFacadePort" binding="tns:TestFacadeBinding">
  |       <soap:address location="http://TLVD60154031A:8080/TestFacade/TestFacade" />
  |     </port>
  |   </service>
  | </definitions>


2. This is the WSDL that I get when I acces
http://localhost:8080/TestFacade/TestFacade?wsdl: 

<definitions name='TestFacadeService' targetNamespace='http://org/jaws' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='http://org/jaws' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
  |  <types>
  |   <schema elementFormDefault='qualified' targetNamespace='http://org/jaws' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://org/jaws' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
  |    <complexType name='MyClass'>
  |     <sequence>
  |      <element name='a' nillable='true' type='string'/>
  |     </sequence>
  |    </complexType>
  |   </schema>
  |  </types>
  |  <message name='TestFacade_Test1'>
  |   <part name='String_1' type='xsd:string'/>
  |   <part name='MyClass_1' type='tns:MyClass'/>
  |  </message>
  |  <message name='TestFacade_Test1Response'>
  |   <part name='result' type='xsd:string'/>
  |  </message>
  |  <portType name='TestFacade'>
  |   <operation name='Test1' parameterOrder='String_1 MyClass_1'>
  |    <input message='tns:TestFacade_Test1'/>
  |    <output message='tns:TestFacade_Test1Response'/>
  |   </operation>
  |  </portType>
  |  <binding name='TestFacadeBinding' type='tns:TestFacade'>
  |   <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/>
  |   <operation name='Test1'>
  |    <soap:operation soapAction=''/>
  |    <input>
  |     <soap:body namespace='http://org/jaws' use='literal'/>
  |    </input>
  |    <output>
  |     <soap:body namespace='http://org/jaws' use='literal'/>
  |    </output>
  |   </operation>
  |  </binding>
  |  <service name='TestFacadeService'>
  |   <port binding='tns:TestFacadeBinding' name='TestFacadePort'>
  |    <soap:address location='http://TLVD60154031A:8080/TestFacade/TestFacade'/>
  |   </port>
  |  </service>
  | </definitions>


3. I used a sniffer and this is what I got when I called test1()
from my .Net client: 

POST /TestFacade/TestFacade HTTP/1.1
  | 
  | User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.42)
  | 
  | Content-Type: text/xml; charset=utf-8
  | 
  | SOAPAction: ""
  | 
  | Host: tlvd60154031a:8080
  | 
  | Content-Length: 316
  | 
  | Expect: 100-continue
  | 
  | Connection: Keep-Alive
  | 
  | HTTP/1.1 100 Continue
  | 
  | <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><Test1 xmlns="http://org/jaws"><String_1 xmlns="">1</String_1></Test1></soap:Body></soap:Envelope>
  | HTTP/1.1 500 Internal Server Error
  | 
  | Server: Apache-Coyote/1.1
  | 
  | X-Powered-By: Servlet 2.4; JBoss-4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)/Tomcat-5.5
  | 
  | Set-Cookie: JSESSIONID=00C7A2C43F19677B78910277825F9BDD; Path=/
  | 
  | Content-Type: text/xml;charset=UTF-8
  | 
  | Transfer-Encoding: chunked
  | 
  | Date: Mon, 28 Aug 2006 12:27:41 GMT
  | 
  | Connection: close
  | 
  | 51
  | 
  | <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Header/>
  | 
  | 2a
  | 
  | <env:Body><env:Fault>env:Client
  | 
  | c
  | 
  | 
  | 
  | 31
  | 
  | Cannot find child element: MyClass_1
  | 
  | e
  | 
  | 
  | 
  | c
  | 
  | </env:Fault>
  | 
  | b
  | 
  | </env:Body>
  | 
  | f
  | 
  | </env:Envelope>
  | 
  | 0
  | 

Regards,
Zohar

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3967814#3967814

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3967814



More information about the jboss-user mailing list