axis-c-user 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 Mon, 04 Oct 2004 16:31:41 GMT




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>
      <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>

I wonder if the relatively complex return structure is too much for Axis
C++ at present.

Regards,

Adrian



-----Original Message-----
From: John Hawkins [mailto:HAWKINSJ@uk.ibm.com]
Sent: 04 October 2004 16:25
To: Apache AXIS C User List
Subject: RE: failure notice






Hi Adrian.

did you take a look at Fred's note - was this the type of thing you were
thinking of?


John Hawkins





             <adrian.p.smith@b
             t.com>
                                                                        To
             30/09/2004 13:48          <axis-c-user@ws.apache.org>
                                                                        cc

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









Better SOAP:Fault handling - i.e. be able to access the fields within the
SOAP:Fault from a client.



-----Original Message-----
From: John Hawkins [mailto:HAWKINSJ@uk.ibm.com]
Sent: 30 September 2004 13:34
To: axis-c-user@ws.apache.org
Subject: Re: failure notice






Hi Folks,

Big note coming up !

I would like to propose some features that we should put into 1.4. I would
like to know what everyone is thinking is useful to have in the 1.4 release
and this small list should act as a starter.



C support -
      firstly define feasibility of making a 100% C++ engine and design,
then (if feasible) implement.
      We will temporarily remove C support in 1.4 to be replaced in 1.5
with new wrapper.

Apache Builds -
      This item is all about getting a daily build. We must also create all
the relevant web pages so it's usable.
      We will build the client first then the server.

Refactor WSDL2WS -
      As it says ! This is a pretty much open-ended item so we do as much
as we can. Remember - at this point we have no C support so anything we can
do here to make that easier to reimplement C in 1.5 is good !

Test documentation -
      document the handler mechanism and other test related stuff we have.


AND - A Quick overview of 1.5 work
1.5
C support -
      put back into WSDL2 WS C wrappers for the new 100% C++ engine

Purify and fix -
      As it says - run Rational purify and tackle issues that come out of
it.

Improve HTTP Support.
      Fix outstanding issues with HTTP support in the new transport layer.
There is a lot we can do here and we haven't really defined what it highest
priority.

Documentation
      User documentation and CVS based documentation. including sample can
be improved



With the resource that we have here - we can contain all the above 1.4
items within a 24th November Time-schedule. I would like to propose that we
try to maintain this shorter time-line for releases. That way we keep new
function to a minimum and therefore maintain stability within builds.

I would also like to propose that we move away from our current waterfall
model of code then test. When we have daily builds we can see immediately
what has broken and this will help us tremedously. The more we automate our
testing the better. The one issue with this is that the daily builds will
only cover certain compilation options (as discussed in previous mails).
The test-cycle now appears to consist of running the same tests on
different configurations - is this true? In which case I would ask that
someone find the time to automate those configurations and run them daily
as well?

Please can you feedback your thoughts and ideas on what we should put into
1.4 and what you would like to see in 1.4 We can then make a judgement as
to what the final goal is to be.


many thanks,
John.






Mime
View raw message