axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From damitha kumarage <dami...@opensource.lk>
Subject Re: Client issues
Date Thu, 29 Jul 2004 09:41:58 GMT
Hi,
Existing Axis C++ transport library of Axis C++ client is not so good
for real use. Samisa has introduced libwww transport to use with client.
I think we should start using libwww as the default axis c++ client
transport library.

thanks 
damitha
On Mon, 2004-07-19 at 14:30, adrian.p.smith@bt.com wrote:
> I've a couple of issues with using the C++ client against an existing Java (non-Axis)
service.
> 
> 1. If I don't initialise an input string the client sends some spurious hex:
> 
> a0 04 2f 
> 
> as the XML content.
> 
> This causes the server side process to return a Fault.
> 
> 2. Whatever the server returns, I get:
> 
> Exception : AxisTransportException:Transport buffer is empty
> 
> even though many other clients, including Java Axis are OK.
> 
> My WSDL is:
> 
> <?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>
>       <xsd:complexType name="appnCompletion">
>         <xsd:all>
>           <xsd:element name="APPNCOMPCODE" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="APPNCOMPTEXT" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>         </xsd:all>
>       </xsd:complexType>
>       <xsd:complexType name="bill">
>         <xsd:all>
>           <xsd:element name="billTyp" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="billSerNr" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="billDate" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="billAmt" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="itmsdUnits" type="xsd:int" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="mtrdUnits" type="xsd:int" minOccurs="0" maxOccurs="1"
nillable="false" />
>         </xsd:all>
>       </xsd:complexType>
>       <xsd:complexType name="getCustomerProfileResponse">
>         <xsd:all>
>           <xsd:element name="E2E" type="tns:E2E" minOccurs="0" maxOccurs="1" nillable="false"
/>
>           <xsd:element name="mmbi" type="tns:mmbiOutput" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="instId" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="telNr" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="custAcctNr" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="verNr" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="exchNm" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="exchType" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="currFault" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="rcntOrder" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="follwUpRtng" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="custCnsntA" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="custCnsntB" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="outstCplntInd" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="callItmsnInd" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="notes" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="names" type="tns:ArrayOfString" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="addrs" type="tns:ArrayOfString" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="xdirInd" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="noOfBillRecords" type="xsd:int" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="noOfProductRecords" type="xsd:int" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="custBillNms" type="tns:ArrayOfString" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="custBillAddrs" type="tns:ArrayOfString" minOccurs="0"
maxOccurs="1" nillable="false" />
>           <xsd:element name="acctEntrys" type="tns:ArrayOfString" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="bdgtAcctPymts" type="tns:ArrayOfString" minOccurs="0"
maxOccurs="1" nillable="false" />
>           <xsd:element name="tar" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="false"
/>
>           <xsd:element name="notesInd" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="billMthd" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="csdpInd" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="lowUserInd" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="follwUpId" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="dtyRef" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="custType" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="inv" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="false"
/>
>           <xsd:element name="instClass" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="existGrpCde" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="acctPayMthd" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="currInvcDate" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="nextInvDue" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="trnSvce" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="currInvcId" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="charRaisd" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="debtMgtCase" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="totOfInvc" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="instStrt" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="lnSts" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="rprPrty" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="maintSvceCde" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="outstBill" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="vrufTtl" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="vrufOpt" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="lns" type="tns:ArrayOfString" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="prodLns" type="tns:ArrayOfString" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="unbilledUsage" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="trafficBillingInd" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="appnCompletion" type="tns:appnCompletion" minOccurs="0"
maxOccurs="1" nillable="false" />
>           <xsd:element name="bills" type="tns:ArrayOfbill" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="products" type="tns:ArrayOfproduct" minOccurs="0" maxOccurs="1"
nillable="false" />
>         </xsd:all>
>       </xsd:complexType>
>       <xsd:complexType name="mmbiInput">
>         <xsd:all>
>           <xsd:element name="correlId" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="trace" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="location" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>         </xsd:all>
>       </xsd:complexType>
>       <xsd:complexType name="mmbiOutput">
>         <xsd:all>
>           <xsd:element name="object" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="method" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="objectVer" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="compileDate" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="compilerVer" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="mmbiVer" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="sysText" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="location" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="correlId" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="status" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>         </xsd:all>
>       </xsd:complexType>
>       <xsd:complexType name="product">
>         <xsd:all>
>           <xsd:element name="qnty" type="xsd:int" minOccurs="0" maxOccurs="1" nillable="false"
/>
>           <xsd:element name="prod" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="false"
/>
>           <xsd:element name="prodSts" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="shortProdDescr" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="tarRate" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>           <xsd:element name="tarTot" type="xsd:string" minOccurs="0" maxOccurs="1"
nillable="false" />
>         </xsd:all>
>       </xsd:complexType>
>     </xsd:schema>
>   </types>
>   <message name="getCustomerProfileSoapInput">
>     <part name="E2E" type="tns:E2E" />
>     <part name="mmbi" type="tns:mmbiInput" />
>     <part name="telNr" type="xsd:string" />
>   </message>
>   <message name="getCustomerProfileSoapOutput">
>     <part name="CH020XResponse" type="tns:getCustomerProfileResponse" />
>   </message>
>   <portType name="CH020XSoapPort">
>     <operation name="getCustomerProfile">
>       <documentation>MMBI service CH020X operation getCustomerProfile.</documentation>
>       <input message="wsdlns:getCustomerProfileSoapInput"></input>
>       <output message="wsdlns:getCustomerProfileSoapOutput"></output>
>     </operation>
>   </portType>
>   <binding name="CH020XSoapBinding" type="wsdlns:CH020XSoapPort">
>     <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
>     <operation name="getCustomerProfile">
>       <soap:operation soapAction="http://www.bt.com/css/mmbi/CH020X/" />
>       <input>
>         <soap:body namespace="http://www.bt.com/css/mmbi/CH020X/" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
/>
>       </input>
>       <output>
>         <soap:body namespace="http://www.bt.com/css/mmbi/CH020X/" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
/>
>       </output>
>     </operation>
>   </binding>
>   <service name="CH020X">
>     <documentation>getCustomerProfile. Returns Customer details by telephone number.
An example CHIS service script.</documentation>
>     <port name="CH020XSoapPort" binding="wsdlns:CH020XSoapBinding">
>       <soap:address location="http://cpwsdd.devenv1.bt.co.uk:63026/gmiProxy/CSSCorsica"
/>
>     </port>
>   </service>
> </definitions>
> 
> A rejected soap fault is:
> 
> HTTP/1.1 200 OK
> Date: Mon, 19 Jul 2004 07:56:10 GMT
> Server: WebLogic WebLogic Server 6.1 SP5  04/21/2003 22:50:41 #253745 
> Content-Length: 1716
> Content-Type: text/xml; charset=UTF-8
> 
> <soap:Envelope soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>returnCode=CC_ERR_BES_NOT_REACHED',
supplCode='CORBA_BAD_PARAM', supplText='', destination='null'</faultstring><faultactor>com.bt.emw.mmbi.CORSICAConnectorException</faultactor><detail><GmiProxy>Error
sending data via Transport</GmiProxy><Stacktrace>com.bt.emw.mmbi.CORSICAConnectorException:
returnCode=CC_ERR_BES_NOT_REACHED', supplCode='CORBA_BAD_PARAM', supplText='', destination='null'
> 	at com.bt.emw.gmiproxy.CCErrorHandler.handleError(CCErrorHandler.java:71)
> 	at com.bt.emw.mmbi.CORSICAConnector.invoke(Unknown Source)
> 	at com.bt.emw.gmiproxy.TransportCorsica.sendRequest(TransportCorsica.java:189)
> 	at com.bt.emw.gmiproxy.GmiProxyCore.call(GmiProxyCore.java:287)
> 	at com.bt.emw.gmiproxy.GmiProxyBean.call(GmiProxyBean.java:71)
> 	at com.bt.emw.gmiproxy.GmiProxyBean_3oirkb_EOImpl.call(GmiProxyBean_3oirkb_EOImpl.java:78)
> 	at com.bt.emw.gmiproxy.GmiProxyServlet.service(GmiProxyServlet.java:275)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:262)
> 	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:198)
> 	at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2678)
> 	at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2412)
> 	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:140)
> 	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:121)
> </Stacktrace></detail></soap:Fault></soap:Body></soap:Envelope>
> 
> A rejected normal response is:
> 
> HTTP/1.1 200 OK
> Date: Mon, 19 Jul 2004 07:59:50 GMT
> Server: WebLogic WebLogic Server 6.1 SP5  04/21/2003 22:50:41 #253745 
> Content-Length: 4984
> 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
R80</sysText><location>WW</location><correlId>adrian</correlId><status>OK</status></mmbi><instId>112301270001</instId><telNr>01208561489</telNr><custAcctNr>11230127</custAcctNr><verNr>048</verNr><exchNm>BODMIN</exchNm><exchType>TXDY57</exchType><currFault>NO</currFault><rcntOrder>Y</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>£39</bdgtAcctPymt><bdgtAcctPymt>£25</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/06/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>
> 
> 
> I'd appreciate some feedback as we're looking at Axis c++ as an alternative to Leif and
Wasp. We've had good experience of Java Axis.
> 
> Regards,
> 
> Adrian Smith
> BT Group
> 


Mime
View raw message