Hello, classical case of "WSDL first". I'd suggest alter the type of CONTENT to "base64Binary", then generate your java-code with WSDL2Java and use the resulting classes Worked with me. Cheers
--- Thomas Beaujard <[EMAIL PROTECTED]> wrote: > Hello, > > Here is the wsdl gnerated when I use the ?wsdl. The > return object is GMDSRESPCT, adn the tag containing > the byteArray is CONTENT. You will notice that > CONTENT is defined as xsd:string type. This is weird > because I generated the class using WSDL2java and > when I first created the wsdl file I specified > content as xsd:base64Binary. I really don't > understand. > > The wsdl : > > > <wsdl:types> > > > <complexType name="GMDSREQCT"> > <sequence> > <element name="TYPE_ID" > type="xsd:string" /> > <element name="DOC_ID" > type="xsd:string" /> > </sequence> > </complexType> > <element name="GMDSREQCT" > type="tns1:GMDSREQCT" /> > <complexType name="GMDSRESPCT"> > <sequence> > <element maxOccurs="1" minOccurs="0" > name="CONTENT" type="xsd:string" /> *************// xsd:base64Binary//**************** > </sequence> > </complexType> > <element name="GMDSRESPCT" > type="tns1:GMDSRESPCT" /> > </schema> > > > <complexType name="GMDSERRCT"> > <sequence> > <element name="GMDSERRCT" > type="xsd:string" /> > </sequence> > </complexType> > </schema> > > > > <element name="fault" type="tns2:GMDSERRCT" > /> > </schema> > </wsdl:types> > <wsdl:message name="getDocumentRequest"> > <wsdl:part element="tns1:GMDSREQCT" > name="GMDSREQCT" /> > </wsdl:message> > <wsdl:message name="GMDSERRCT"> > <wsdl:part element="impl:fault" name="fault" /> > </wsdl:message> > <wsdl:message name="getDocumentResponse"> > <wsdl:part element="tns1:GMDSRESPCT" > name="GMDSRESPCT" /> > </wsdl:message> > <wsdl:portType name="DocContentPortType"> > <wsdl:operation name="getDocument" > parameterOrder="GMDSREQCT"> > <wsdl:input > message="impl:getDocumentRequest" > name="getDocumentRequest" /> > <wsdl:output > message="impl:getDocumentResponse" > name="getDocumentResponse" /> > <wsdl:fault message="impl:GMDSERRCT" > name="GMDSERRCT" /> > </wsdl:operation> > </wsdl:portType> > <wsdl:binding name="DocContentSOAPPortSoapBinding" > type="impl:DocContentPortType"> > > <wsdl:operation > name="getDocument"><wsdlsoap:operation > soapAction="getDocument" /> > <wsdl:input name="getDocumentRequest"> > <wsdlsoap:body use="literal" /> > </wsdl:input> > <wsdl:output name="getDocumentResponse"> > <wsdlsoap:body use="literal" /> > </wsdl:output> > <wsdl:fault name="GMDSERRCT"> > <wsdlsoap:fault name="GMDSERRCT" > use="literal" /> > </wsdl:fault> > </wsdl:operation></wsdl:binding><wsdl:service > name="DocContentService"> > <wsdl:port > binding="impl:DocContentSOAPPortSoapBinding" > name="DocContentSOAPPort"> > > </wsdl:port> > </wsdl:service> > </wsdl:definitions> > > ----- Message d'origine ---- > De : WJ Krpelan <[EMAIL PROTECTED]> > À : [email protected] > Envoyé le : Mardi, 4 Septembre 2007, 20h05mn 22s > Objet : Re: Re : Re : Tr : Axis problem returning > byteArray > > Hello, > As it works with me, I'd suspect there is something > wrong with your xsd-File or your WSDL-File > Can I have a look at the WSDL? > Cheers > > --- Thomas Beaujard <[EMAIL PROTECTED]> wrote: > > > Hi > > > > Here is the SOAP-trace: > > > > HTTP/1.1 200 OK Content-Type: > text/xml;charset=utf-8 > > Date: Tue, 04 Sep 2007 11:10:43 GMT Server: > > Apache-Coyote/1.1 Connection: close > > > > <soapenv:Body> > > <GMDSRESPCT xmlns="hhhhhhhhhhhhhhhh"> > > <CONTENT xsi:type="xsd:byte" xmlns="">37</CONTENT> > > <CONTENT xsi:type="xsd:byte" xmlns="">80</CONTENT> > > <CONTENT xsi:type="xsd:byte" xmlns="">68</CONTENT> > > <CONTENT xsi:type="xsd:byte" xmlns="">70</CONTENT> > > <CONTENT xsi:type="xsd:byte" xmlns="">45</CONTENT> > > <CONTENT xsi:type="xsd:byte" xmlns="">49</CONTENT > > .......... > > <CONTENT xsi:type="xsd:byte" xmlns="">13</CONTENT> > > </GMDSRESPCT></soapenv:Body></soapenv:Envelope> > > > > > > As you can see the tag CONTENT appears many times > > with a type byte, whereas it should only appear > once > > with the type base64binary. > > I cannot use the xs:string workaround... do you > have > > any other idea? > > > > Thanks for your help > > > > Thom > > > > ----- Message d'origine ---- > > De : WJ Krpelan <[EMAIL PROTECTED]> > > À : [email protected] > > Envoyé le : Vendredi, 31 Août 2007, 12h24mn 28s > > Objet : Re: Re : Tr : Axis problem returning > > byteArray > > > > Hi > > Could you provice a SOAP-Trace (TCPMon)? Would it > > look > > similar to the one below? > > A less than satisfactory workaround, if you > control > > both sides of the wire, would be to change type to > > xs:string and do the conversion within java. > > Cheers > > > > POST /axis/CalcArr.jws HTTP/1.0 > > Content-Type: text/xml; charset=utf-8 > > Accept: application/soap+xml, application/dime, > > multipart/related, text/* > > User-Agent: Axis/1.4 > > Host: 127.0.0.1:8088 > > Cache-Control: no-cache > > Pragma: no-cache > > SOAPAction: "" > > Content-Length: 334 > > > > <?xml version="1.0" encoding="UTF-8"?> > > <soapenv:Envelope > > > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";; > > xmlns:xsd="http://www.w3.org/2001/XMLSchema";; > > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";;> > > <soapenv:Body> > > <Add xmlns="http://tempuri.org/";;> > > <i1>ITAMWA==</i1> > > <i2>FxdiAg==</i2> > > </Add> > > </soapenv:Body> > > </soapenv:Envelope> > > > > > > HTTP/1.1 200 OK > > Server: Apache-Coyote/1.1 > > Set-Cookie: > > JSESSIONID=887A1E5E02B52B88387CAD9B3FEA7F6C; > > Path=/axis > > Content-Type: text/xml;charset=utf-8 > === message truncated === ____________________________________________________________________________________ Looking for a deal? Find great prices on flights and hotels with Yahoo! FareChase. http://farechase.yahoo.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
