Mark, the wsdl's were used for SOAP Interop testing...So it's just not us. (http://www.google.com/search?hl=en&lr=&ie=UTF-8&oe=UTF-8&safe=off&q=round4+soap+interop&btnG=Search)
Also, PLEASE add your comments to the bug so that we don't lose this conversation. -- dims --- Mark Leone <[EMAIL PROTECTED]> wrote: > Steffen: > > Davanum Srinivas has posted a solution to your problem in response to bug > AXIS-1283. The solution requires a change to the wsdl (which I undersand may > not be an option for you), and it looks to me like the wsdl you're trying to > use is compliant with the W3C Note. Nevertheless, the following illustrtes > what would need to change in your wsdl to make it work. > > In his comments to the aforementioned bug Davanum points to a wsdl file at > http://cvs.apache.org/viewcvs.cgi/ws-axis/java/test/wsdl/interop4/groupG/mime/rpc/mime-rpc.wsdl?view=markup > > as an example for handling mime:multiPartRelated attacments inbound and > outbound. I noticed three significant differences between his wsdl and the > wsdl you are trying to use. Through experimenting, I found that two of those > differences must be applied to the problem wsdl in oder to make it work. > > Required changes: > > 1. For the portType operations in the current wsdl, the <input...> and > <output...> child delements have only a message attribute. You need to > define a name attribue as well, and then when you reference the <input...> > and <output...> elements in the bindings section of the wsdl, reference them > by the name attribute defined above, not the message attribute, as it is > currently in the wsdl. > > 2. Applying the fix abve will resolve the problem you reported, but you will > now fet a NullPointerException for QNames referenced in your mime parts. To > resolve this you must change the value of the type aatribute in your > <mime:content...> elements from "application/binary" to > "application/octetstream". > > This results in sucessful generation of the client stubs. I didn't write a > client to invoke the service. > > Note that the wsdl that Davanum points to also differs in that multiple > attachments are encoded as an array and then bound with a single > <mme:content...> element in the bindings section. The wsdl you're using > treats multiple attachments without encoding them as arrays, and it defines > the binding using multiple <mime:content...> elements. The code sems to work > with either of these wsdl approaches. > > As far as I can tell, the wsdl you're trying to use is compliant with the > spec. Although the examples in the text of the W3C Note take an approach > different from either of the above two apparoaches, the WSDL schema in the > Note says that for <input...> and <output...> elements, the name attribute > is optional and the message atribute is required. (Interestngly, neither the > wsdl Davanum points to nor the wsdl examples in the W3C Note follow this, as > the former has <input...> elements n the bindings section with only a name > attribute, and the latter has them with no atributes.) > > So it seems to me that the non-compliant wsdls are working and the compliant > one is not. I guess I still need to write a bug report. It'll hold off for a > little while, in case someone can find something I'm missing. For example, > does the problem lie with Axis because a valid wsdl file fails? I think so, > but maybe there's some other factor at work that I'm missing. Hope this > helps. (If you want me to send you the modified wsdl that worked for me, let > me know.) > > -Mark > > > >From: "Mark Leone" <[EMAIL PROTECTED]> > >Reply-To: [EMAIL PROTECTED] > >To: [EMAIL PROTECTED] > >Subject: RE: Beginners help > >Date: Wed, 14 Apr 2004 02:24:38 -0400 > > > >I put some debug statements into the class that's throwing this Exception > >(org.apache.axis.wsdl.symbolTable.SymbolTable). I found something > >interesting. > > > >It looks like there is no problem with the operations in the binding. The > >Exception is thrown when the code is checking that each binding operation > >has a corresponding PortType operation. So I put some debug statements in > >the code that iterates through the PortType operations, checking that > >they're valid (i.e. not null). I found the following problem, which only > >occurs for the three operations that have messages with mime parts in them > >(Send, FaxReceive, and Status): > > > >As the code is iterating through the operations of the PortType, it finds > >two instances of each of the three problematic operations. The first > >instance has input and output messages with the proper parts, per the wsdl. > >However, the second instance has no input or output message associated with > >it (throws null pointer exception on getInput() and getOutput()). I guess > >the method that checks the PortType operations against the Binding > >operations is retrieving the defective instance of the PortType operation. > > > >Here's the output of my debug code, showing the operations, messages, and > >parts for the IXMLWS PortType. Not sure why this is happening, but the fact > >that it only occurs for messages with mime parts is a clue. Sure looks like > >a bug to me. Can someone validate that assessment before I submit a bug > >report? > > > >********************************************************************* > >PortType = {http://tempuri.org/}IXMLWS > >********************************************************************* > >******************************************************** ************* > >Operation = Register > >Input Message = {http://tempuri.org/}Register0Request > >Part = Part: name=Account > >typeName={http://www.w3.org/2001/XMLSchema}string > >Part = Part: name=Password > >typeName={http://www.w3.org/2001/XMLSchema}string > >Part = Part: name=RegData > >typeName={http://www.borland.com/namespaces/Types}TStringDynArray > >Output Message = {http://tempuri.org/}Register0Response > >Part = Part: name=Account > >typeName={http://www.w3.org/2001/XMLSchema}string > >Part = Part: name=Password > >typeName={http://www.w3.org/2001/XMLSchema}string > >Part = Part: name=return > >typeName={http://www.w3.org/2001/XMLSchema}int > >******************************************************** ************* > >******************************************************** ************* > >Operation = Send > >Input Message = {http://tempuri.org/}Send1Request > >Part = Part: name=Schalter > >typeName={http://www.w3.org/2001/XMLSchema}string > >Part = Part: name=Account > >typeName={http://www.w3.org/2001/XMLSchema}string > >Part = Part: name=Password > >typeName={http://www.w3.org/2001/XMLSchema}string > >Part = Part: name=SendFile1 > >typeName={http://www.w3.org/2001/XMLSchema}base64Binary > >Part = Part: name=SendFile3 > >typeName={http://www.w3.org/2001/XMLSchema}base64Binary > >Part = Part: name=SendText > >typeName={http://www.w3.org/2001/XMLSchema}string > >Part = Part: name=SendFile2 > >typeName={http://www.w3.org/2001/XMLSchema}base64Binary > >Part = Part: name=JobArt > >typeName={http://www.w3.org/2001/XMLSchema}int > >Part = Part: name=EmpfaengerListe > >typeName={http://www.w3.org/2001/XMLSchema}base64Binary > >Part = Part: name=EmpfaengerNr > >typeName={http://www.w3.org/2001/XMLSchema}string > >Part = Part: name=SendeDatumZeit > >typeName={http://www.w3.org/2001/XMLSchema}dateTime > >Output Message = {http://tempuri.org/}Send1Response > >Part = Part: name=AnzahlSeiten > >typeName={http://www.w3.org/2001/XMLSchema}int > >Part = Part: name=CheckDocFile > >typeName={http://www.w3.org/2001/XMLSchema}base64Binary > >Part = Part: name=JobId > >typeName={http://www.w3.org/2001/XMLSchema}int > >Part = Part: name=return > >typeName={http://www.w3.org/2001/XMLSchema}int > >Part = Part: name=AnzahlEmpfaenger > >typeName={http://www.w3.org/2001/XMLSchema}int > >******************************************************** ************* > >******************************************************** ************* > >Operation = FaxReceive > >Input Message = {http://tempuri.org/}FaxReceive2Request > >Part = Part: name=Account > >typeName={http://www.w3.org/2001/XMLSchema}string > >Part = Part: name=Password > >typeName={http://www.w3.org/2001/XMLSchema}string > >Output Message = {http://tempuri.org/}FaxReceive2Response > >Part = Part: name=FaxImage > >typeName={http://www.w3.org/2001/XMLSchema}base64Binary > >Part = Part: name=ReceiveDate > >typeName={http://www.w3.org/2001/XMLSchema}dateTime > >Part = Part: name=return > >typeName={http://www.w3.org/2001/XMLSchema}int > >Part = Part: name=FaxFile > >typeName={http://www.w3.org/2001/XMLSchema}string > >******************************************************** ************* > >******************************************************** ************* > >Operation = FaxDelete > >Input Message = {http://tempuri.org/}FaxDelete3Request > >Part = Part: name=Account > >typeName={http://www.w3.org/2001/XMLSchema}string > >Part = Part: name=Password > >typeName={http://www.w3.org/2001/XMLSchema}string > >Part = Part: name=FaxFile > >typeName={http://www.w3.org/2001/XMLSchema}string > >Output Message = {http://tempuri.org/}FaxDelete3Response > >Part = Part: name=return > >typeName={http://www.w3.org/2001/XMLSchema}int > >******************************************************** ************* > >******************************************************** ************* > >Operation = Status > >Input Message = {http://tempuri.org/}Status4Request > >Part = Part: name=Account > >typeName={http://www.w3.org/2001/XMLSchema}string > >Part = Part: name=Password > >typeName={http://www.w3.org/2001/XMLSchema}string > >Part = Part: name=JobId > >typeName={http://www.w3.org/2001/XMLSchema}int > >Output Message = {http://tempuri.org/}Status4Response > >Part = Part: name=Protokoll > >typeName={http://www.w3.org/2001/XMLSchema}base64Binary > >Part = Part: name=return > >typeName={http://www.w3.org/2001/XMLSchema}int > >******************************************************** ************* > >******************************************************** ************* > >Operation = Journal > >Input Message = {http://tempuri.org/}Journal5Request > >Part = Part: name=Account > >typeName={http://www.w3.org/2001/XMLSchema}string > >Part = Part: name=Password > === message truncated === ===== Davanum Srinivas - http://webservices.apache.org/~dims/
