Steffen,

I tried for over two hours, and I could not find a solution to your problem. I was able to duplicate the java.io exception, and I agree with you that the WSDL appears to be compliant with the W3C WSDL spec.

The XML Spy error you reported is also curious, because <mime:content> is clearly a valid subelement of <mime:part>. However, it is clear that the java.io exception is related to the mime part definitions. I found that if I commented out the binding for the Send operation, then the binding for another operation would generate the same error, but only bindings for operations with mime parts will cause the exception.

I theorize from the exception description that the mime part definitions are not created properly, resulting in a mis-match between the parts defined in the messages that comprise the operation binding and those in the messages used in the corresponding portType. I tried adding a "parts" attribute to the <soap:body> element inside the first <mime:part> element, with the value of the attribute set to a space delimited list of the parts in the message that were not defined as mime parts. However, this didn't help. Here's the wsdl for the Send operation binding that I tried:

<operation name="Send">
<soap:operation soapAction="urn:XMLWSIntf-IXMLWS#Send" style="rpc"/>
<input message="tns:Send1Request" name="Send1Request">
<mime:multipartRelated>
<mime:part>
<soap:body parts = "Account Password JobArt EmpfaengerNr SendText SendeDatumZeit Schalter" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; namespace="urn:XMLWSIntf-IXMLWS"/>
</mime:part>
<mime:part>
<mime:content part="EmpfaengerListe" type="application/binary"/>
</mime:part>
<mime:part>
<mime:content part="SendFile1" type="application/binary"/>
</mime:part>
<mime:part>
<mime:content part="SendFile2" type="application/binary"/>
</mime:part>
<mime:part>
<mime:content part="SendFile3" type="application/binary"/>
</mime:part>
</mime:multipartRelated>
</input>
<output message="tns:Send1Response" name="Send1Response">
<mime:multipartRelated>
<mime:part>
<soap:body parts = "JobId AnzahlEmpfaenger AnzahlSeiten return" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; namespace="urn:XMLWSIntf-IXMLWS"/>
</mime:part>
<mime:part>
<mime:content part="CheckDocFile" type="application/binary"/>
</mime:part>
</mime:multipartRelated>
</output>
</operation>


This really seems to be compliant with the W3C Note for WSDL 1.1, but WSDL2Java continues to throw an io exception, complaining that the binding operation has no corrsponding portType operation. Anybody have any idea what's going wrong? (see Steffen's link below for the full wsdl).


From: "Steffen Heil" <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: <[EMAIL PROTECTED]>
Subject: RE: Beginners help
Date: Mon, 12 Apr 2004 19:18:37 +0200

Sorry for reposting, but is there really nobody, who can give ma a hint?
I am willing to learn a lot, but I cannot find any hint where to start.
The W3C WSDL specification seems to do the same that is seen as error here.


---


Hi

I am very new to this, and I need to implement a SOAP client in Java.
I do have the wsdl, but it seems to be incorrect. Anyway, I cannot change
this.

WSDL2Java tells me:
[axis-wsdl2java] java.io.IOException: Binding operation has no corresponding
portType operation: name = Send, input name = Send1Request, output name =
Send1Response


Checking the WSDL file in XMLSpy gives me:
Extensible Object: a mime:part only allows you to use mime extensibility or
soap:body, as child items

Anyway, I cannot even find the error in the wsdl.
XMLSpy seems to think there error is here:
<mime:multipartRelated>
        ...
        <mime:part>
                <mime:content part="SendFile3" type="application/binary"/>
        </mime:part>
</mime:multipartRelated>

The wsdl-File is here:
http://ccs.fax.de/xmlws.exe/wsdl/IXMLWS

Can someone tell me, what's wrong, or what I can do?
Or simply a hint, where to search for more information?

Regards,
  Steffen


_________________________________________________________________
Get rid of annoying pop-up ads with the new MSN Toolbar � FREE! http://toolbar.msn.com/go/onm00200414ave/direct/01/




Reply via email to