The WSDL seems to be wrong. The input and output definitions in the
binding section of "myWSOperation" are incorrectly defined. The
soap:body is defined twice.
The elements <soap:body parts="mybody" use="literal"/> and
<soap:header message="tns:request" part="myheader" use="literal"/>
should be inside </mime:multipartRelated> as a mime part.
The correct definition would be like this.
<wsdl:input>
<mime:multipartRelated>
<mime:part>
<soap:body parts="mybody" use="literal"/>
<soap:header message="tns:request"
part="myheader" use="literal"/>
</mime:part>
<mime:part>
<mime:content part="myattachment" type="text/xml"/>
</mime:part>
</mime:multipartRelated>
</wsdl:input>
thanks,
Rama Pulavarthi
Alessio Cervellin wrote:
>The wscompile of jwsdp1.5 reports a "uniqueness constraint violation" error (w/out further info) on this wsdl which describes an operation w/ attachment (mime multipart)... but it seems fine to me. Is this a bug or did I mispell something in the wsdl?
>
>[xpost on users_at_jwsdp.dev.java.net]
>
>
>
>------------------------------------------------------------------------
>
><?xml version="1.0" encoding="UTF-8"?>
>
><wsdl:definitions
>
> name="myWS"
>
> targetNamespace="http://domain/mywsdl.wsdl"
>
> xmlns:myns="http://www.mydomain.com/"
>
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>
> xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
>
> xmlns:tns="http://domain/mywsdl.wsdl"
>
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>
> <wsdl:types>
>
> <xsd:schema
>
> attributeFormDefault="unqualified"
>
> elementFormDefault="qualified"
>
> targetNamespace="http://www.mydomain.com/"
>
> xmlns="http://www.mydomain.com/"
>
> xmlns:SOAP_ENV="http://schemas.xmlsoap.org/soap/envelope/"
>
> xmlns:myns="http://www.mydomain.com/"
>
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>
> <xsd:import
>
> namespace="http://schemas.xmlsoap.org/soap/envelope/"
>
> schemaLocation="http://schemas.xmlsoap.org/soap/envelope/"/>
>
> <xsd:element name="ComplexElement1">
>
> <xsd:complexType>
>
> <xsd:sequence>
>
> <xsd:element maxOccurs="unbounded" ref="ComplexElement2"/>
>
> </xsd:sequence>
>
> </xsd:complexType>
>
> </xsd:element>
>
> <xsd:element name="ComplexElement2">
>
> <xsd:attribute name="anattribute" type="xsd:string" use="required"/>
>
> </xsd:element>
>
> <xsd:element name="Header">
>
> <xsd:complexType>
>
> <xsd:sequence>
>
> <xsd:element ref="Header2"/>
>
> </xsd:sequence>
>
> </xsd:complexType>
>
> </xsd:element>
>
> <xsd:element name="Header2">
>
> <xsd:attribute name="anotherattribute" type="xsd:string" use="required"/>
>
> </xsd:element>
>
> </xsd:schema>
>
> </wsdl:types>
>
> <wsdl:message name="request">
>
> <wsdl:part element="myns:Header" name="myheader"/>
>
> <wsdl:part name="myattachment" type="xsd:base64Binary"/>
>
> <wsdl:part element="myns:ComplexElement1" name="mybody"/>
>
> </wsdl:message>
>
> <wsdl:message name="response">
>
> <wsdl:part element="myns:Header" name="myheader"/>
>
> <wsdl:part name="myattachment" type="xsd:base64Binary"/>
>
> <wsdl:part element="myns:ComplexElement1" name="mybody"/>
>
> </wsdl:message>
>
> <wsdl:portType name="myWSPortType">
>
> <wsdl:operation name="myWSOperation">
>
> <wsdl:input message="tns:request"/>
>
> <wsdl:output message="tns:response"/>
>
> </wsdl:operation>
>
> </wsdl:portType>
>
> <wsdl:binding name="myWSBinding" type="tns:myWSPortType">
>
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
>
> <wsdl:operation name="myWSOperation">
>
> <soap:operation style="document"/>
>
> <wsdl:input>
>
> <mime:multipartRelated>
>
> <mime:part>
>
> <soap:body parts="mybody" use="literal"/>
>
> </mime:part>
>
> <mime:part>
>
> <mime:content part="myattachment" type="text/xml"/>
>
> </mime:part>
>
> </mime:multipartRelated>
>
> <soap:body parts="mybody" use="literal"/>
>
> <soap:header message="tns:request" part="myheader" use="literal"/>
>
> </wsdl:input>
>
> <wsdl:output>
>
> <mime:multipartRelated>
>
> <mime:part>
>
> <soap:body parts="mybody" use="literal"/>
>
> </mime:part>
>
> <mime:part>
>
> <mime:content part="myattachment" type="text/xml"/>
>
> </mime:part>
>
> </mime:multipartRelated>
>
> <soap:body parts="mybody" use="literal"/>
>
> <soap:header message="tns:response" part="myheader" use="literal"/>
>
> </wsdl:output>
>
> </wsdl:operation>
>
> </wsdl:binding>
>
> <wsdl:service name="myWS">
>
> <wsdl:port binding="tns:myWSBinding" name="myWSPort">
>
> <soap:address location="http://localhost:8080/myWS/myWS"/>
>
> </wsdl:port>
>
> </wsdl:service>
>
></wsdl:definitions>
>
>
>
>
>
>
>------------------------------------------------------------------------
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe_at_jax-rpc.dev.java.net
>For additional commands, e-mail: users-help_at_jax-rpc.dev.java.net
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_jax-rpc.dev.java.net
For additional commands, e-mail: users-help_at_jax-rpc.dev.java.net