axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Hawkins <HAWKI...@uk.ibm.com>
Subject RE: failure notice
Date Wed, 06 Oct 2004 15:56:29 GMT




This is the last I saw on this - is this a WSDL2ws defect then?


John Hawkins




                                                                           
             Samisa Abeysinghe                                             
             <samisa_abeysingh                                             
             e@yahoo.com>                                               To 
                                       Apache AXIS C User List             
             05/10/2004 04:55          <axis-c-user@ws.apache.org>         
                                                                        cc 
                                       axis-c-dev@ws.apache.org            
             Please respond to                                     Subject 
              "Apache AXIS C           RE: failure notice                  
             Developers List"                                              
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




I could generate the code and compile as well (on Linux).

However in the generated code I get the following line in
CH020XSoapPort.cpp file:
    if(AXIS_SUCCESS ==
m_pCall->checkMessage("getCustomerProfileSoapOutput",
"http://www.bt.com/css/mmbi/CH020X/"))

The response message has:
<ns1:getCustomerProfileResponse
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

Hence I guess the generated code should be:
        if(AXIS_SUCCESS ==
m_pCall->checkMessage("getCustomerProfileResponse",
"http://www.bt.com/css/mmbi/CH020X/"))

Possible bug in WSDL2WS tool?

Further it would be helpful for the exception to say which element it could
not deserialize,
rather than just saying deserialization failure. (thus we could verify
situations like these)

Samisa...



--- adrian.p.smith@bt.com wrote:

> The reply returned from the service was:
>
> HTTP/1.1 200 OK
> Date: Mon, 04 Oct 2004 17:38:50 GMT
> Server: WebLogic WebLogic Server 6.1 SP5  04/21/2003 22:50:41 #253745
> Content-Length: 5000
> Content-Type: text/xml; charset=UTF-8
>
> <?xml version="1.0" standalone="no"?><SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:tns="http://www.bt.com/css/mmbi/2002/06/types"
> xmlns:ns1="http://www.bt.com/css/mmbi/CH020X/" xmlns:xsd="
http://www.w3.org/2001/XMLSchema"
>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
"><SOAP-ENV:Body><ns1:getCustomerProfileResponse
>
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/
"><CH020XResponse><E2E><pck>PCK&lt;01069bt.com
> SS01   ND1234567890200107190000223344dyemw01
>
im011111</pck></E2E><mmbi><object>CH020X</object><method>getCustomerProfile</method><objectVer>90</objectVer><compileDate>16/04/03</compileDate><compilerVer>V4.00</compilerVer><mmbiVer>6</mmbiVer><sysText>CSS

>
R82</sysText><location>LW</location><correlId>adrian</correlId><status>OK</status></mmbi><instId>112301270001</instId><telNr>01208561489</telNr><custAcctNr>11230127</custAcctNr><verNr>051</verNr><exchNm>BODMIN</exchNm><exchType>TXDY57</exchType><currFault>NO</currFault><rcntOrder>N</rcntOrder><follwUpRtng>3</follwUpRtng><custCnsntA>C</custCnsntA><custCnsntB>C</custCnsntB><outstCplntInd>NO</outstCplntInd><callItmsnInd>Y</callItmsnInd><notes>N</notes><names

> xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[]"><name>MISS C
> ACACIA</name></names><addrs xsi:type="SOAP-ENC:Array"
SOAP-ENC:arrayType="xsd:string[]"><addr>59
> ST ANDREWS
>
ROAD</addr><addr>FINNIEGLEN</addr><addr>BODMINTON</addr><addr>RINGSHIRE</addr><addr>BD1

>
1CC</addr></addrs><noOfBillRecords>01</noOfBillRecords><noOfProductRecords>07</noOfProductRecords><custBillNms

> xsi:type="SOAP-ENC:Array"
SOAP-ENC:arrayType="xsd:string[]"><custBillNm>MISS C
> ACACIA</custBillNm></custBillNms><custBillAddrs xsi:type="SOAP-ENC:Array"
> SOAP-ENC:arrayType="xsd:string[]"><custBillAddr>59 ST ANDREWS
>
ROAD</custBillAddr><custBillAddr>FINNIEGLEN</custBillAddr><custBillAddr>BODMINTON</custBillAddr><custBillAddr>RINGSHIRE</custBillAddr></custBillAddrs><acctEntrys

> xsi:type="SOAP-ENC:Array"
>
SOAP-ENC:arrayType="xsd:string[]"><acctEntry>143.38</acctEntry><acctEntry>00.00</acctEntry><acctEntry>00.00</acctEntry><acctEntry>143.38</acctEntry></acctEntrys><bdgtAcctPymts

> xsi:type="SOAP-ENC:Array"
SOAP-ENC:arrayType="xsd:string[]"><bdgtAcctPymt>
> </bdgtAcctPymt><bdgtAcctPymt>
>
</bdgtAcctPymt></bdgtAcctPymts><tar>A</tar><notesInd>Y</notesInd><billMthd>L</billMthd><csdpInd>Y</csdpInd><follwUpId>I001</follwUpId><dtyRef>PMILO</dtyRef><custType>PERSONAL

> COMMS</custType><inv>Y</inv><instClass>RES SINGLE
> EXCL</instClass><existGrpCde>BOD</existGrpCde><acctPayMthd>ORDINARY
>
ACCOUNT</acctPayMthd><nextInvDue>28/09/04</nextInvDue><currInvcDate>07/11/00</currInvcDate><trnSvce>N</trnSvce><currInvcId>I001</currInvcId><charRaisd>143.38</charRaisd><debtMgtCase>NO</debtMgtCase><totOfInvc>143.38</totOfInvc><instStrt>01/11/00</instStrt><lnSts>B/W</lnSts><rprPrty>***</rprPrty><maintSvceCde>NO</maintSvceCde><outstBill>NO</outstBill><vrufTtl>Cust

> Options :</vrufTtl><vrufOpt>CE1</vrufOpt><prodLns
xsi:type="SOAP-ENC:Array"
> SOAP-ENC:arrayType="xsd:string[]"><prodLn>01                 Option 90100
- Tariff for Customer
> Account
>
only</prodLn></prodLns><unbilledUsage>00.00</unbilledUsage><trafficBillingInd>C</trafficBillingInd><appnCompletion><APPNCOMPCODE>0</APPNCOMPCODE><APPNCOMPTEXT>No

> dialled call usage found for this
account</APPNCOMPTEXT></appnCompletion><bills
> xsi:type="SOAP-ENC:Array"
>
SOAP-ENC:arrayType="tns:bill[]"><bill><billTyp>I</billTyp><billSerNr>001</billSerNr><billDate>07/11/00</billDate><billAmt>£143.38</billAmt><itmsdUnits>0000000</itmsdUnits><mtrdUnits>00000000</mtrdUnits></bill></bills><products

> xsi:type="SOAP-ENC:Array"
>
SOAP-ENC:arrayType="tns:product[]"><product><qnty>1</qnty><prod>A90100</prod><prodSts>C</prodSts><shortProdDescr>FRIENDS

> &amp;
>
FAMILY</shortProdDescr><tarRate>0.00</tarRate><tarTot>0.00</tarTot></product><product><qnty>1</qnty><prod>A14499</prod><prodSts>C</prodSts><shortProdDescr>EXCH

> LINE +
>
LINEBOX</shortProdDescr><tarRate>29.36</tarRate><tarTot>29.36</tarTot></product><product><qnty>1</qnty><prod>A14493</prod><prodSts>C</prodSts><shortProdDescr>PRIORITY

> FAULT
>
REPAIR</shortProdDescr><tarRate>0.00</tarRate><tarTot>0.00</tarTot></product><product><qnty>1</qnty><prod>A52053</prod><prodSts>O</prodSts><shortProdDescr>RESPONSE

>
123</shortProdDescr><tarRate>ORS</tarRate><tarTot>0.00</tarTot></product><product><qnty>1</qnty><prod>A45743</prod><prodSts>C</prodSts><shortProdDescr>CALL

>
SIGN</shortProdDescr><tarRate>0.00</tarRate><tarTot>0.00</tarTot></product><product><qnty>1</qnty><prod>A51875</prod><prodSts>C</prodSts><shortProdDescr>BT

> Calling Features Pack
>
1</shortProdDescr><tarRate>4.46</tarRate><tarTot>4.46</tarTot></product><product><qnty>2</qnty><prod>A42349</prod><prodSts>C</prodSts><shortProdDescr>HOME

> NUMBER 99 MCC
>
(13)</shortProdDescr><tarRate>0.00</tarRate><tarTot>0.00</tarTot></product></products></CH020XResponse></ns1:getCustomerProfileResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>

>
> But I get an Exception:
>
> Exception : Cannot deserialize the requested element
> Exception : 55
>
> My client code looks like this:
>
> #include "CH020XSoapPort.h"
> int main()
> {
>     try
>     {
>         CH020XSoapPort * port = new CH020XSoapPort();
>
>         mmbiInput *mmbiIn = new mmbiInput();
>         mmbiIn->correlId = "adrian";
>         E2E *e2e = new E2E();
>         e2e->pck = "PCK<01069bt.com SS01
ND1234567890200107190000223344dyemw01 im011111";
>
>         getCustomerProfileResponse *result =
port->getCustomerProfile(mmbiIn, e2e,
> "01208561489");
>         E2E *e2eOut = result->E2E_Ref;
>        printf("output pck: %s\n", e2eOut->pck);
>         printf("result = %s\n", result->telNr);
>         return 0;
>     }
>     catch(AxisException &e)
>     {
>         printf("Exception : %s\n", e.what());
>         printf("Exception : %d\n", e.getExceptionCode());
>         return 1;
>     }
>     catch(exception& e)
>     {
>         printf("Unknown exception 1 has occured\n" );
>         return 1;
>     }
>            catch(...)
>     {
>         printf("Unknown exception has occured\n" );
>         return 1;
>     }
> }
>
> Any clues appreciated!
>
> -----Original Message-----
> From: John Hawkins [mailto:HAWKINSJ@uk.ibm.com]
> Sent: 04 October 2004 17:32
> To: Apache AXIS C User List
> Cc: axis-c-dev@ws.apache.org
> Subject: RE: failure notice
>
>
>
>
>
>
> What was the problem?
>
> I just ran WSDL2WS against this and it produced "stuff" with no errors -
I
> did not compile the code it produced  though :-)
>
> John Hawkins
>
>
>
>
>

>              <adrian.p.smith@b

>              t.com>

>
To
>              04/10/2004 16:59          <axis-c-user@ws.apache.org>

>
cc
>

>              Please respond to
Subject
>               "Apache AXIS C           RE: failure notice

>                 User List"

>

>

>

>

>

>
>
>
>
> I did see it, but it struck me as overly complex. I think a simple
> exception to catch with a few simple properties would be better for a
> simple SOAP:fault. See what a lot of Java kits do.
>
> I have lost focus with Axis C++ at present because I was unable to make
it
> consume our "hello world" service, getCustomerProfile, WSDL follows:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- Generated using the Web Services Interoperability TestBench @ Mon
May
> 17 15:22:19 2004 (GMT) -->
>
> <definitions name="CH020X" targetNamespace="
> http://www.bt.com/css/mmbi/CH020X/" xmlns:wsdlns="
> http://www.bt.com/css/mmbi/CH020X/" xmlns:soap="
> http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="
> http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/
"
> xmlns:tns="http://www.bt.com/css/mmbi/2002/06/types">
>   <types>
>     <xsd:schema targetNamespace="http://www.bt.com/css/mmbi/2002/06/types
"
> xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="
> http://schemas.xmlsoap.org/wsdl/" xmlns:soapenc="
> http://schemas.xmlsoap.org/soap/encoding/"
elementFormDefault="unqualified"
> attributeFormDefault="unqualified">
>       <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/"
/>
>       <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
>       <xsd:complexType name="ArrayOfString">
>         <xsd:complexContent>
>           <xsd:restriction base="soapenc:Array">
>             <xsd:attribute ref="soapenc:arrayType"
> wsdl:arrayType="xsd:string[]" />
>           </xsd:restriction>
>         </xsd:complexContent>
>       </xsd:complexType>
>       <xsd:complexType name="ArrayOfbill">
>         <xsd:complexContent>
>           <xsd:restriction base="soapenc:Array">
>             <xsd:attribute ref="soapenc:arrayType"
> wsdl:arrayType="tns:bill[]" />
>           </xsd:restriction>
>         </xsd:complexContent>
>       </xsd:complexType>
>       <xsd:complexType name="ArrayOfproduct">
>         <xsd:complexContent>
>           <xsd:restriction base="soapenc:Array">
>             <xsd:attribute ref="soapenc:arrayType"
> wsdl:arrayType="tns:product[]" />
>           </xsd:restriction>
>         </xsd:complexContent>
>       </xsd:complexType>
>       <xsd:complexType name="E2E">
>         <xsd:all>
>           <xsd:element name="pck" type="xsd:string" minOccurs="0"
> maxOccurs="1" nillable="false" />
>           <xsd:element name="callerId" type="xsd:string" minOccurs="0"
> maxOccurs="1" nillable="false" />
>         </xsd:all>
>       </xsd:complexType>
>
=== message truncated ===




__________________________________
Do you Yahoo!?
Yahoo! Mail is new and improved - Check it out!
http://promotions.yahoo.com/new_mail



Mime
View raw message