You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by ad...@bt.com on 2004/07/19 10:30:57 UTC
Client issues
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<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 & 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
Re: Client issues
Posted by damitha kumarage <da...@opensource.lk>.
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<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 & 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
>
Re: Client issues
Posted by Samisa Abeysinghe <sa...@yahoo.com>.
I tested this situation using a 20,000 element string array echo with the stubBase sample in
tests/stubTest.
I faced no problems and the result was successful.
However, I was using the newly written LibWWW transport.
With older transport it was successful for 20 element array. However with 200 elements I got
"Unknown exception has occured".
Samisa...
--- Alexei Dets <ad...@idsk.com> wrote:
> Hi!
> On Monday 19 July 2004 04:30, adrian.p.smith@bt.com wrote:
> >
> > 2. Whatever the server returns, I get:
> >
> > Exception : AxisTransportException:Transport buffer is empty
> >
> > even though many other clients, including Java Axis are OK.
>
> Exactly. I have the same issue (and both server & client parts are using Axis
> C++). This is definitely a bug in the Axis C++ client library - clients
> written with different toolkits (for example, PHP nuSOAP) work perfectly with
> the same Axis C++ service. This bug doesn't appear if the responce from the
> server is _very_ short. Axis C++ client is just unusable in the current
> state :-(
>
> Alexei
>
__________________________________
Do you Yahoo!?
Vote for the stars of Yahoo!'s next ad campaign!
http://advision.webevents.yahoo.com/yahoo/votelifeengine/
Re: Client issues
Posted by Alexei Dets <ad...@idsk.com>.
Hi!
On Monday 19 July 2004 04:30, adrian.p.smith@bt.com wrote:
>
> 2. Whatever the server returns, I get:
>
> Exception : AxisTransportException:Transport buffer is empty
>
> even though many other clients, including Java Axis are OK.
Exactly. I have the same issue (and both server & client parts are using Axis
C++). This is definitely a bug in the Axis C++ client library - clients
written with different toolkits (for example, PHP nuSOAP) work perfectly with
the same Axis C++ service. This bug doesn't appear if the responce from the
server is _very_ short. Axis C++ client is just unusable in the current
state :-(
Alexei