Hi,

Well, looking through your trace and comparing with some of our existing
testcases, I believe you may have found a problem in the code generated by
WSDL2Ws for handling faults.

In short summary:
- the stub checks the received SOAP message for the expected response, and
doesn't find it, so throws an AxisException
- this is caught by the stub code, which then checks for a SOAP fault
- the fault is then deserialized
- the stub then throws the AxisException (from checkMessage) to the client
Application, rather than the deserialized SOAP fault.

Having done a quick check of the testcases, this is only a problem for
rpc/encoded WSDLs, doc/literal appears to do the correct thing.

Can you please raise a Jira issue for this, and attach:
- WSDL file
- SOAP request/response
- trace file




As an aside, the particular fault you were experience had the faultstring:
"electric.directory.DirectoryException: cannot automatically create
subdirectory http:" if that's of any assistance, you can check the SOAP
response message for the complete response.

Regards,
Adrian
_______________________________________
Adrian Dick ([EMAIL PROTECTED])


"Bo Xie" <[EMAIL PROTECTED]> wrote on 27/03/2006 09:26:39:

> Hi Adrian,
>
> Thank you very much for your reply! Attached please find the trace log.
>
> Best Regards,
> Xie, Bo
>
> On 3/27/06, Adrian Dick <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > Here are a few items that will aid us in understanding the problem
you're
> > experiencing.
> > - Provide exception handling round the use of the web service, are you
> > having an AxisException thrown? If so, can you capture the message
using
> > exception.what().
> > - Enable engine trace ( see step 4 of
> > http://ws.apache.org/axis/cpp/install-guide.html#Installing_Client for
> > detail on setting configuration)
> >
> > Thanks,
> > Adrian
> > _______________________________________
> > Adrian Dick ([EMAIL PROTECTED])
> >
> >
> > "Bo Xie" <[EMAIL PROTECTED]> wrote on 27/03/2006 08:17:28:
> >
> > > Hi,
> > >
> > > I tried to build SOAP C++ Windows Client to call "delayed quotes" web
> > > service, but failed. Following are steps:
> > > 1. Generate .hpp/.cpp
> > > ----------
> > > E:\temp\TestAxis>java -classpath .\wsdl2ws.jar;.\commons-logging.
> > > jar;.\jaxrpc.ja
> > >
> >
r;.\saaj.jar;.\wsdl4j.jar;.\wsdl2ws.jar;.\axis.jar;.\commons-discovery.jar
> > > org.apache.axis.wsdl.wsdl2ws.WSDL2Ws
> > > http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl
> > > -lc++ -sclient
> > >
> > > Code generation completed.
> > > ----------
> > > 2.  TestAxis.cpp
> > > ----------
> > > #include "stdafx.h"
> > > #include "StockQuotePortType.hpp"
> > >
> > > int main(int argc, char* argv[])
> > > {
> > >        StockQuotePortType s;
> > >        float f=s.getQuote("IBM");
> > >        printf("The quote is %f\n",f);
> > >        return 0;
> > > }
> > > ----------
> > >
> > > 3. When I debug the TestAxis project, it will throw an exception
> > > "Unhandled exception in TestAxis.exe: 0xC0000005: Access Violation"
in
> > > Line 62 of StockQuotePortType.cpp
> > > ------Line 62--
> > > if( AXIS_SUCCESS == m_pCall->checkMessage(
> > > "getQuoteResponse1","http://www.themindelectric.com/wsdl/net.
> > > xmethods.services.stockquote.StockQuote/"))
> > > -----------------
> > >
> > > If you want the TestAxis VC project, please let me know.
> > >
> > > Any suggestions are welcome and appreciated!
> > >
> > > Best Regards,
> > >
> > > Xie, Bo
> >
> >
> [attachment "AxisLogClient.txt" deleted by Adrian Dick/UK/IBM]

Reply via email to