1 Reply Latest reply on Jul 15, 2008 6:55 PM by brettsc

    SAP&wsdl from JBoss

      Hi everybody!
      I have got a new task - to implement web services in SAP and in JBoss. So I am trying to implement test service - I implemented one using java and now I try to generate proxy object in SAP from wsdl. Did someone do it? and how?? - Everytime when I push generate button exception appears... Are there any traps?
      Here is my wsdl:

      <?xml version="1.0" encoding="UTF-8"?>
      <wsdl:definitions name="MyTestService" targetNamespace="http://www.openuri.org/2008/05/HelloWorld" xmlns:tns="http://www.openuri.org/2008/05/HelloWorld" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
       <wsdl:types>
       <xs:schema targetNamespace="http://www.openuri.org/2008/05/HelloWorld" version="1.0" xmlns:tns="http://www.openuri.org/2008/05/HelloWorld" xmlns:xs="http://www.w3.org/2001/XMLSchema">
       <xs:element name="MessageDeliverException" type="tns:MessageDeliverException"/>
       <xs:element name="URISyntaxException" type="tns:URISyntaxException"/>
       <xs:complexType name="URISyntaxException">
       <xs:sequence>
       <xs:element name="index" type="xs:int"/>
       <xs:element minOccurs="0" name="input" type="xs:string"/>
       <xs:element minOccurs="0" name="message" type="xs:string"/>
       <xs:element minOccurs="0" name="reason" type="xs:string"/>
       </xs:sequence>
       </xs:complexType>
       <xs:complexType name="MessageDeliverException">
       <xs:sequence>
       <xs:element minOccurs="0" name="message" type="xs:string"/>
       </xs:sequence>
       </xs:complexType>
       </xs:schema>
       </wsdl:types>
       <wsdl:message name="WSTestBean_getEmployeeName">
       <wsdl:part name="id" type="xsd:string">
       </wsdl:part>
       </wsdl:message>
       <wsdl:message name="MessageDeliverException">
       <wsdl:part name="MessageDeliverException" element="tns:MessageDeliverException">
       </wsdl:part>
       </wsdl:message>
       <wsdl:message name="WSTestBean_getEmployeeNameResponse">
       <wsdl:part name="return" type="xsd:string">
       </wsdl:part>
       </wsdl:message>
       <wsdl:message name="URISyntaxException">
       <wsdl:part name="URISyntaxException" element="tns:URISyntaxException">
       </wsdl:part>
       </wsdl:message>
       <wsdl:portType name="WSTestBean">
       <wsdl:operation name="getEmployeeName" parameterOrder="id">
       <wsdl:input message="tns:WSTestBean_getEmployeeName">
       </wsdl:input>
       <wsdl:output message="tns:WSTestBean_getEmployeeNameResponse">
       </wsdl:output>
       <wsdl:fault name="MessageDeliverException" message="tns:MessageDeliverException">
       </wsdl:fault>
       <wsdl:fault name="URISyntaxException" message="tns:URISyntaxException">
       </wsdl:fault>
       </wsdl:operation>
       </wsdl:portType>
       <wsdl:binding name="WSTestBeanBinding" type="tns:WSTestBean">
       <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
       <wsdl:operation name="getEmployeeName">
       <soap:operation soapAction=""/>
       <wsdl:input>
       <soap:body use="literal" namespace="http://www.openuri.org/2008/05/HelloWorld"/>
       </wsdl:input>
       <wsdl:output>
       <soap:body use="literal" namespace="http://www.openuri.org/2008/05/HelloWorld"/>
       </wsdl:output>
       <wsdl:fault name="MessageDeliverException">
       <soap:fault name="MessageDeliverException" use="literal"/>
       </wsdl:fault>
       <wsdl:fault name="URISyntaxException">
       <soap:fault name="URISyntaxException" use="literal"/>
       </wsdl:fault>
       </wsdl:operation>
       </wsdl:binding>
       <wsdl:service name="MyTestService">
       <wsdl:port name="WSTestBeanPort" binding="tns:WSTestBeanBinding">
       <soap:address location="http://127.0.0.1:8080/WebServiceProject/WSTestBean"/>
       </wsdl:port>
       </wsdl:service>
      </wsdl:definitions>


      and here is exception:

      Cannot generate proxy (object missing in WSDL, see long text)
      Message no. SPRX084
      
      Background
      During proxy generation, an interface description in WSDL format is fetched from the Integration Builder or from another source and interpreted. This WSDL document must describe the whole interface correctly.
      ==> Display Query
      ==> Display WSDL Document
      
      Diagnosis
      In the WSDL document, the object
       "<message name="WSTestBean_getEmployeeName"> <pa..."
      from the namespace
       "http://www.openuri.org/2008/05/HelloWorld"
      links to the object
       ""
      from the namespace
       ""
      
      However, this last object does not exist in the WSDL document.
      ....
      


      Are there any ideas about it? I will be appreciate, thanx a lot.




        • 1. Re: SAP&wsdl from JBoss
          brettsc

          The wsdl was valid in soapUI but I'm guessing that SAP proxy generator is incorrectly expecting a definition of WSTestBean_getEmployeeName in the wsdl:types. Looks like a SAP bug to me.