Hi all,
I am new to web services technologies though know here and there.
We have an internet application, where one of the functions needs to call the web service.
1. We have the WSDL in place.
2. We are using the soapUI Pro tool where it is using Axis2 Artifcats for wsdl2java and databinding as adb. it is generating 3
java files with the build.xml.
a. Fault.java
b. ServiceStub.java
c. ServiceCallbackHandler.java
3. We are creating a java project in Eclipse and having the 3 generated java files along with the build.xml. And compiling the 3 java files which required some of the external jar files from Axis2.
4. Then we are running the build.xml using the
ANT, which generates thousands of class files (most of them are inner classes..may be due to adb databinding nature) and creates the jar file.
5. Now,we have written the client pgm to call the web service call.
6. We are able to call the web services call. THOUGH WE HAVE STILL GOT SOME ISSUES...
Issues:
1. Opening the 3 generated java files causing the
IDE to crash due to the memory issue. I have tried opening it in Eclipse/RAP/MyEclipse and also assigned more memory option, but still opening these java files causing the memory issue (unhandled loop execution). We want to know why this memory issue..it should not cause any issue in real env...The reason to open this file, we want to configure the endpoint dynamically and need to add some code there.
2. We are successfully able to call the web service, but some times we are not able to get the Fault Message...it is just returing the Fault and not able to get the faultCode, description to get the actual error message and it is very diffcult to know what is the actual issue for our investigation. Fault message is coming for http, whereas it is not coming for https (SSL). we have the proper trustsotre/cert..
In the client pgm we are catching AxisFault..
for http call, it is going to the catch block...for https, it is not going to the catch block.
try{
// calling the stub
}catch(org.apache.axis2.AxisFault f){
System.out.println( "fault code: " + f.getFaultCode() );
System.out.println( "fault message : " + f.getMessage() );
}
We are not able to get the below message...It is returning only the FaultString as "FAULT"
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>Fault</faultstring>
<faultactor/>
<detail xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<ns:Fault xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://www.citi.com/gcgi/shared/system/fault" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/">
<ns:ErrorDetail>
<ns:DateAndTimeStamp>2011-10-14T23:52:15.678+08:00</ns:DateAndTimeStamp>
<ns:UUID>20110603153701</ns:UUID>
<ns:ESBUUID>d1ss6f1d-cd4c-49c3-9e7d-d364548e5b63</ns:ESBUUID>
<ns:ResponseCode>DE23232</ns:ResponseCode>
<ns:Type>ERROR</ns:Type>
<ns:Code>23SW23</ns:Code>
<ns:Status>ERROR</ns:Status>
<ns:Description>Error Message</ns:Description>
<ns:Actor>DEMO</ns:Actor>
<ns:ProviderError>
<ns:Code>DE23232</ns:Code>
<ns:Detail/>
<ns:FieldID/>
</ns:ProviderError>
</ns:ErrorDetail>
</ns:Fault>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>