Hi,
I am using wstools from eclipse 3.5.1. and jboss-5.1.0.GA to generate a top-down
webservice. It is generated from the following, I believe (syntacticly) correct, wsdl with
<mime:multipartRelated> elements.
| <?xml version="1.0" encoding="UTF-8"?>
| <wsdl:definitions
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
| xmlns:tns="http://com.lei.nl/modelAgent"
|
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
| xmlns:lei="http://com.lei.nl/modelAgent"
| name="ModelAgentService"
| targetNamespace="http://com.lei.nl/modelAgent">
| <wsdl:types>
| <xsd:schema xmlns:lei="http://com.lei.nl/modelAgent"
targetNamespace="http://com.lei.nl/modelAgent" >
| <xsd:element name="ModelAgentRequest">
| <xsd:complexType>
| <xsd:sequence>
| <xsd:element minOccurs="1" maxOccurs="1"
name="modelType" type="xsd:string"/>
| <xsd:element minOccurs="1" maxOccurs="1"
name="modelName" type="xsd:string"/>
| <xsd:element minOccurs="0" maxOccurs="unbounded"
name="modelParameters" type="lei:ModelParameter"/>
| </xsd:sequence>
| </xsd:complexType>
| </xsd:element>
| <xsd:element name="ModelAgentResponse">
| <xsd:complexType>
| <xsd:sequence>
| <xsd:element minOccurs="1" maxOccurs="1"
name="returnCode" type="xsd:string"/>
| </xsd:sequence>
| </xsd:complexType>
| </xsd:element>
| <xsd:complexType name="ModelParameter">
| <xsd:sequence>
| <xsd:element minOccurs="1" name="parameterName"
type="xsd:string"/>
| <xsd:element minOccurs="1" name="parameterValue"
type="xsd:string"/>
| </xsd:sequence>
| </xsd:complexType>
| </xsd:schema>
| </wsdl:types>
| <wsdl:message name="invokeRequestMsg">
| <wsdl:part name="ModelAgentRequest"
element="lei:ModelAgentRequest"/>
| <wsdl:part name="gdxAttachment" type="xsd:base64Binary"/>
| </wsdl:message>
| <wsdl:message name="invokeResponseMsg">
| <wsdl:part name="ModelAgentResponse"
element="lei:ModelAgentResponse"/>
| <wsdl:part name="gdxAttachment"
type="xsd:base64Binary"/>
| </wsdl:message>
| <wsdl:portType name="ModelAgentService">
| <wsdl:operation name="invoke">
| <wsdl:input message="tns:invokeRequestMsg"
name="invokeRequestMsg"/>
| <wsdl:output message="tns:invokeResponseMsg"
name="invokeResponseMsg"/>
| </wsdl:operation>
| </wsdl:portType>
| <wsdl:binding name="ModelAgentServiceSOAP"
type="tns:ModelAgentService">
| <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
| <wsdl:operation name="invoke">
| <soap:operation soapAction=""/>
| <wsdl:input name="invokeRequestMsg">
| <mime:multipartRelated>
| <mime:part>
| <soap:body parts="ModelAgentRequest"
use="literal"/>
| </mime:part>
| <mime:part>
| <mime:content part="gdxAttachment"
type="application/octet-stream"/>
| </mime:part>
| </mime:multipartRelated>
| </wsdl:input>
| <wsdl:output name="invokeResponseMsg">
| <mime:multipartRelated>
| <mime:part>
| <soap:body parts="ModelAgentResponse"
use="literal"/>
| </mime:part>
| <mime:part>
| <mime:content part="gdxAttachment"
type="application/octet-stream"/>
| </mime:part>
| </mime:multipartRelated>
| </wsdl:output>
| </wsdl:operation>
| </wsdl:binding>
| <wsdl:service name="ModelAgentSOAPService">
| <wsdl:port binding="tns:ModelAgentServiceSOAP"
name="ModelAgentServiceSOAP">
| <soap:address
location="http://localhost:9080/ModelAgentWeb/services/ModelAgentServiceSOAP"/>
| </wsdl:port>
| </wsdl:service>
| </wsdl:definitions>
|
All the classes are generated coorectly. However, the wsdl published by JBoss look like
this
definitions name="ModelAgentService"
targetNamespace="http://com.lei.nl/modelAgent"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:ns1="http://com.lei.nl/modelAgent"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://modelagent.lei.com/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
| <types>
| <xs:schema targetNamespace="http://com.lei.nl/modelAgent"
version="1.0" xmlns:tns="http://com.lei.nl/modelAgent"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
| <xs:element name="ModelAgentRequest">
| <xs:complexType>
| <xs:sequence>
| <xs:element name="modelType" type="xs:string" />
| <xs:element name="modelName" type="xs:string" />
| <xs:element maxOccurs="unbounded" minOccurs="0"
name="modelParameters" nillable="true"
type="tns:ModelParameter" />
| </xs:sequence>
| </xs:complexType>
| </xs:element>
| <xs:element name="ModelAgentResponse">
| <xs:complexType>
| <xs:sequence>
| <xs:element name="returnCode" type="xs:string" />
| </xs:sequence>
| </xs:complexType>
| </xs:element>
| <xs:element name="gdxAttachment" nillable="true"
type="xs:base64Binary" />
| <xs:complexType name="ModelParameter">
| <xs:sequence>
| <xs:element name="parameterName" type="xs:string" />
| <xs:element name="parameterValue" type="xs:string" />
| </xs:sequence>
| </xs:complexType>
| </xs:schema>
| </types>
| <message name="ModelAgentService_invoke">
| <part element="ns1:gdxAttachment" name="gdxAttachment" />
| </message>
| <message name="ModelAgentService_invokeResponse">
| <part element="ns1:gdxAttachment" name="gdxAttachment" />
| </message>
| <portType name="ModelAgentService">
| <operation name="invoke" parameterOrder="ModelAgentRequest
gdxAttachment">
| <input message="ns1:ModelAgentService_invoke" />
| <output message="ns1:ModelAgentService_invokeResponse" />
| </operation>
| </portType>
| <binding name="ModelAgentServiceBinding"
type="ns1:ModelAgentService">
| <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
| <operation name="invoke">
| <soap:operation soapAction="" />
| <input>
| <soap:body use="literal" />
| </input>
| <output>
| <soap:body use="literal" />
| </output>
| </operation>
| </binding>
| </definitions>
|
What happened here is the first parts of the request and response messages are lost, and
cannot therefore not be read a client.
Has anyone any idea what i am doing wrong?
Thnak you
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4262849#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...