Axis2c-1.6.0: Issue with sending "No Error" soap fault

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Axis2c-1.6.0: Issue with sending "No Error" soap fault

Pavani J
Hi,

I am developing a web service using Axis2c-1.6.0 based on WSDL generated C code and I am on server side.

I have some ADB APIs that return axis2_status_t. 
Even if these APIs are returning AXIS2_SUCCESS (no other errors from server side business logic), it calls service skeletons on_fault code and sends "No Error" soap fault.

Please see below for packet trace for response

***Server***
HTTP/1.1 500 Internal Server Error
Date: Tue Jul  9 12:10:05 2013 GMT
Server: Axis2C/1.6.0 (Simple Axis2 HTTP Server)
Content-Type: application/soap+xml;charset=UTF-8
Transfer-Encoding: chunked

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
  <soapenv:Body>
    <soapenv:Fault>
      <soapenv:Code>
        <soapenv:Value>soapenv:Sender</soapenv:Value>
      </soapenv:Code>
      <soapenv:Reason>
        <soapenv:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en">No Error</soapenv:Text>
      </soapenv:Reason>
      <soapenv:Detail>
        <fault>myService|http://com.abcd.efg.hijk/2.0/ failed</fault>
      </soapenv:Detail>
    </soapenv:Fault>
  </soapenv:Body>
</soapenv:Envelope>

Below is ADB function for one such API:

axis2_status_t  axis2_skel_myService_myTask(const axutil_env_t *env , axis2_msg_ctx_t *msg_ctx,
                                              adb_cancelTask_t* _cancelTask,
                                          axis2_skel_myService_myTask_fault *fault );
                                          

Looks like it cannot handle when ADB does not have any output params to return (so it returns NULL) and status is AXIS2_SUCCESS.

Changing WSDL is not an option for my project.

My problem is different from the issue at https://issues.apache.org/jira/browse/AXIS2C-1279

I apologize if this question is already answered and please point me to that link.

This is kind of a blocker for me right now. Any help is greatly appreciated.

Thanks,
Pavani

Reply | Threaded
Open this post in threaded view
|

Re: Axis2c-1.6.0: Issue with sending "No Error" soap fault

Rajika Kumarasiri-2
axis2_status_t returns the status of the invocation. As you have seen the invocation has been successful with a fault. 

Rajika


On Wed, Jul 10, 2013 at 1:02 AM, Pavani J <[hidden email]> wrote:
Hi,

I am developing a web service using Axis2c-1.6.0 based on WSDL generated C code and I am on server side.

I have some ADB APIs that return axis2_status_t. 
Even if these APIs are returning AXIS2_SUCCESS (no other errors from server side business logic), it calls service skeletons on_fault code and sends "No Error" soap fault.

Please see below for packet trace for response

***Server***
HTTP/1.1 500 Internal Server Error
Date: Tue Jul  9 12:10:05 2013 GMT
Server: Axis2C/1.6.0 (Simple Axis2 HTTP Server)
Content-Type: application/soap+xml;charset=UTF-8
Transfer-Encoding: chunked

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
  <soapenv:Body>
    <soapenv:Fault>
      <soapenv:Code>
        <soapenv:Value>soapenv:Sender</soapenv:Value>
      </soapenv:Code>
      <soapenv:Reason>
        <soapenv:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en">No Error</soapenv:Text>
      </soapenv:Reason>
      <soapenv:Detail>
        <fault>myService|http://com.abcd.efg.hijk/2.0/ failed</fault>
      </soapenv:Detail>
    </soapenv:Fault>
  </soapenv:Body>
</soapenv:Envelope>

Below is ADB function for one such API:

axis2_status_t  axis2_skel_myService_myTask(const axutil_env_t *env , axis2_msg_ctx_t *msg_ctx,
                                              adb_cancelTask_t* _cancelTask,
                                          axis2_skel_myService_myTask_fault *fault );
                                          

Looks like it cannot handle when ADB does not have any output params to return (so it returns NULL) and status is AXIS2_SUCCESS.

Changing WSDL is not an option for my project.

My problem is different from the issue at https://issues.apache.org/jira/browse/AXIS2C-1279

I apologize if this question is already answered and please point me to that link.

This is kind of a blocker for me right now. Any help is greatly appreciated.

Thanks,
Pavani


Reply | Threaded
Open this post in threaded view
|

Re: Axis2c-1.6.0: Issue with sending "No Error" soap fault

Pavani J
But service is not failing and so service is not setting any fault or error. And yet service skeletons on_fault code is called.

Thanks,
Pavani


On Tue, Jul 9, 2013 at 10:39 PM, Rajika Kumarasiri <[hidden email]> wrote:
axis2_status_t returns the status of the invocation. As you have seen the invocation has been successful with a fault. 

Rajika


On Wed, Jul 10, 2013 at 1:02 AM, Pavani J <[hidden email]> wrote:
Hi,

I am developing a web service using Axis2c-1.6.0 based on WSDL generated C code and I am on server side.

I have some ADB APIs that return axis2_status_t. 
Even if these APIs are returning AXIS2_SUCCESS (no other errors from server side business logic), it calls service skeletons on_fault code and sends "No Error" soap fault.

Please see below for packet trace for response

***Server***
HTTP/1.1 500 Internal Server Error
Date: Tue Jul  9 12:10:05 2013 GMT
Server: Axis2C/1.6.0 (Simple Axis2 HTTP Server)
Content-Type: application/soap+xml;charset=UTF-8
Transfer-Encoding: chunked

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
  <soapenv:Body>
    <soapenv:Fault>
      <soapenv:Code>
        <soapenv:Value>soapenv:Sender</soapenv:Value>
      </soapenv:Code>
      <soapenv:Reason>
        <soapenv:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en">No Error</soapenv:Text>
      </soapenv:Reason>
      <soapenv:Detail>
        <fault>myService|http://com.abcd.efg.hijk/2.0/ failed</fault>
      </soapenv:Detail>
    </soapenv:Fault>
  </soapenv:Body>
</soapenv:Envelope>

Below is ADB function for one such API:

axis2_status_t  axis2_skel_myService_myTask(const axutil_env_t *env , axis2_msg_ctx_t *msg_ctx,
                                              adb_cancelTask_t* _cancelTask,
                                          axis2_skel_myService_myTask_fault *fault );
                                          

Looks like it cannot handle when ADB does not have any output params to return (so it returns NULL) and status is AXIS2_SUCCESS.

Changing WSDL is not an option for my project.

My problem is different from the issue at https://issues.apache.org/jira/browse/AXIS2C-1279

I apologize if this question is already answered and please point me to that link.

This is kind of a blocker for me right now. Any help is greatly appreciated.

Thanks,
Pavani



Reply | Threaded
Open this post in threaded view
|

Re: Axis2c-1.6.0: Issue with sending "No Error" soap fault

Rajika Kumarasiri-2
The request hasn't even reached the service. You need to check why the request is not dispatched to service. Check the server log. As I said as far as client is concern the invocation is successful with a fault. 

Rajika


On Wed, Jul 10, 2013 at 1:48 AM, Pavani J <[hidden email]> wrote:
But service is not failing and so service is not setting any fault or error. And yet service skeletons on_fault code is called.

Thanks,
Pavani


On Tue, Jul 9, 2013 at 10:39 PM, Rajika Kumarasiri <[hidden email]> wrote:
axis2_status_t returns the status of the invocation. As you have seen the invocation has been successful with a fault. 

Rajika


On Wed, Jul 10, 2013 at 1:02 AM, Pavani J <[hidden email]> wrote:
Hi,

I am developing a web service using Axis2c-1.6.0 based on WSDL generated C code and I am on server side.

I have some ADB APIs that return axis2_status_t. 
Even if these APIs are returning AXIS2_SUCCESS (no other errors from server side business logic), it calls service skeletons on_fault code and sends "No Error" soap fault.

Please see below for packet trace for response

***Server***
HTTP/1.1 500 Internal Server Error
Date: Tue Jul  9 12:10:05 2013 GMT
Server: Axis2C/1.6.0 (Simple Axis2 HTTP Server)
Content-Type: application/soap+xml;charset=UTF-8
Transfer-Encoding: chunked

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
  <soapenv:Body>
    <soapenv:Fault>
      <soapenv:Code>
        <soapenv:Value>soapenv:Sender</soapenv:Value>
      </soapenv:Code>
      <soapenv:Reason>
        <soapenv:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en">No Error</soapenv:Text>
      </soapenv:Reason>
      <soapenv:Detail>
        <fault>myService|http://com.abcd.efg.hijk/2.0/ failed</fault>
      </soapenv:Detail>
    </soapenv:Fault>
  </soapenv:Body>
</soapenv:Envelope>

Below is ADB function for one such API:

axis2_status_t  axis2_skel_myService_myTask(const axutil_env_t *env , axis2_msg_ctx_t *msg_ctx,
                                              adb_cancelTask_t* _cancelTask,
                                          axis2_skel_myService_myTask_fault *fault );
                                          

Looks like it cannot handle when ADB does not have any output params to return (so it returns NULL) and status is AXIS2_SUCCESS.

Changing WSDL is not an option for my project.

My problem is different from the issue at https://issues.apache.org/jira/browse/AXIS2C-1279

I apologize if this question is already answered and please point me to that link.

This is kind of a blocker for me right now. Any help is greatly appreciated.

Thanks,
Pavani




Reply | Threaded
Open this post in threaded view
|

Re: Axis2c-1.6.0: Issue with sending "No Error" soap fault

Pavani J
Request has reached server. Since I am at server side (not client), I used gdb to step through service implementation code which returns SUCCESS and also no error/fault by service implementation.

Thanks,
Pavani


On Tue, Jul 9, 2013 at 11:05 PM, Rajika Kumarasiri <[hidden email]> wrote:
The request hasn't even reached the service. You need to check why the request is not dispatched to service. Check the server log. As I said as far as client is concern the invocation is successful with a fault. 

Rajika


On Wed, Jul 10, 2013 at 1:48 AM, Pavani J <[hidden email]> wrote:
But service is not failing and so service is not setting any fault or error. And yet service skeletons on_fault code is called.

Thanks,
Pavani


On Tue, Jul 9, 2013 at 10:39 PM, Rajika Kumarasiri <[hidden email]> wrote:
axis2_status_t returns the status of the invocation. As you have seen the invocation has been successful with a fault. 

Rajika


On Wed, Jul 10, 2013 at 1:02 AM, Pavani J <[hidden email]> wrote:
Hi,

I am developing a web service using Axis2c-1.6.0 based on WSDL generated C code and I am on server side.

I have some ADB APIs that return axis2_status_t. 
Even if these APIs are returning AXIS2_SUCCESS (no other errors from server side business logic), it calls service skeletons on_fault code and sends "No Error" soap fault.

Please see below for packet trace for response

***Server***
HTTP/1.1 500 Internal Server Error
Date: Tue Jul  9 12:10:05 2013 GMT
Server: Axis2C/1.6.0 (Simple Axis2 HTTP Server)
Content-Type: application/soap+xml;charset=UTF-8
Transfer-Encoding: chunked

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
  <soapenv:Body>
    <soapenv:Fault>
      <soapenv:Code>
        <soapenv:Value>soapenv:Sender</soapenv:Value>
      </soapenv:Code>
      <soapenv:Reason>
        <soapenv:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en">No Error</soapenv:Text>
      </soapenv:Reason>
      <soapenv:Detail>
        <fault>myService|http://com.abcd.efg.hijk/2.0/ failed</fault>
      </soapenv:Detail>
    </soapenv:Fault>
  </soapenv:Body>
</soapenv:Envelope>

Below is ADB function for one such API:

axis2_status_t  axis2_skel_myService_myTask(const axutil_env_t *env , axis2_msg_ctx_t *msg_ctx,
                                              adb_cancelTask_t* _cancelTask,
                                          axis2_skel_myService_myTask_fault *fault );
                                          

Looks like it cannot handle when ADB does not have any output params to return (so it returns NULL) and status is AXIS2_SUCCESS.

Changing WSDL is not an option for my project.

My problem is different from the issue at https://issues.apache.org/jira/browse/AXIS2C-1279

I apologize if this question is already answered and please point me to that link.

This is kind of a blocker for me right now. Any help is greatly appreciated.

Thanks,
Pavani





Reply | Threaded
Open this post in threaded view
|

Re: Axis2c-1.6.0: Issue with sending "No Error" soap fault

Rajika Kumarasiri-2
What prevent you from checking the sever log ? 

Rajika


On Wed, Jul 10, 2013 at 2:15 AM, Pavani J <[hidden email]> wrote:
Request has reached server. Since I am at server side (not client), I used gdb to step through service implementation code which returns SUCCESS and also no error/fault by service implementation.

Thanks,
Pavani


On Tue, Jul 9, 2013 at 11:05 PM, Rajika Kumarasiri <[hidden email]> wrote:
The request hasn't even reached the service. You need to check why the request is not dispatched to service. Check the server log. As I said as far as client is concern the invocation is successful with a fault. 

Rajika


On Wed, Jul 10, 2013 at 1:48 AM, Pavani J <[hidden email]> wrote:
But service is not failing and so service is not setting any fault or error. And yet service skeletons on_fault code is called.

Thanks,
Pavani


On Tue, Jul 9, 2013 at 10:39 PM, Rajika Kumarasiri <[hidden email]> wrote:
axis2_status_t returns the status of the invocation. As you have seen the invocation has been successful with a fault. 

Rajika


On Wed, Jul 10, 2013 at 1:02 AM, Pavani J <[hidden email]> wrote:
Hi,

I am developing a web service using Axis2c-1.6.0 based on WSDL generated C code and I am on server side.

I have some ADB APIs that return axis2_status_t. 
Even if these APIs are returning AXIS2_SUCCESS (no other errors from server side business logic), it calls service skeletons on_fault code and sends "No Error" soap fault.

Please see below for packet trace for response

***Server***
HTTP/1.1 500 Internal Server Error
Date: Tue Jul  9 12:10:05 2013 GMT
Server: Axis2C/1.6.0 (Simple Axis2 HTTP Server)
Content-Type: application/soap+xml;charset=UTF-8
Transfer-Encoding: chunked

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
  <soapenv:Body>
    <soapenv:Fault>
      <soapenv:Code>
        <soapenv:Value>soapenv:Sender</soapenv:Value>
      </soapenv:Code>
      <soapenv:Reason>
        <soapenv:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en">No Error</soapenv:Text>
      </soapenv:Reason>
      <soapenv:Detail>
        <fault>myService|http://com.abcd.efg.hijk/2.0/ failed</fault>
      </soapenv:Detail>
    </soapenv:Fault>
  </soapenv:Body>
</soapenv:Envelope>

Below is ADB function for one such API:

axis2_status_t  axis2_skel_myService_myTask(const axutil_env_t *env , axis2_msg_ctx_t *msg_ctx,
                                              adb_cancelTask_t* _cancelTask,
                                          axis2_skel_myService_myTask_fault *fault );
                                          

Looks like it cannot handle when ADB does not have any output params to return (so it returns NULL) and status is AXIS2_SUCCESS.

Changing WSDL is not an option for my project.

My problem is different from the issue at https://issues.apache.org/jira/browse/AXIS2C-1279

I apologize if this question is already answered and please point me to that link.

This is kind of a blocker for me right now. Any help is greatly appreciated.

Thanks,
Pavani






Reply | Threaded
Open this post in threaded view
|

Re: Axis2c-1.6.0: Issue with sending "No Error" soap fault

Pavani J
This is my server log:

[Tue Jul  9 18:11:12 2013] [info]  Starting Axis2 HTTP server....
[Tue Jul  9 18:11:12 2013] [info]  Apache Axis2/C version in use : 1.6.0
[Tue Jul  9 18:11:12 2013] [info]  Server port : 9090
[Tue Jul  9 18:11:12 2013] [info]  Repo location : ../
[Tue Jul  9 18:11:12 2013] [info]  Read Timeout : 60000 ms
[Tue Jul  9 18:11:12 2013] [debug] phase.c(121) axis2_handler_t *request_uri_based_dispatcher added to the index 0 of the phase Transport
[Tue Jul  9 18:11:12 2013] [debug] phase.c(121) axis2_handler_t *addressing_based_dispatcher added to the index 1 of the phase Transport
[Tue Jul  9 18:11:12 2013] [debug] phase.c(121) axis2_handler_t *rest_dispatcher added to the index 0 of the phase Dispatch
[Tue Jul  9 18:11:12 2013] [debug] phase.c(121) axis2_handler_t *soap_message_body_based_dispatcher added to the index 1 of the phase Dispatch
[Tue Jul  9 18:11:12 2013] [debug] phase.c(121) axis2_handler_t *soap_action_based_dispatcher added to the index 2 of the phase Dispatch
[Tue Jul  9 18:11:12 2013] [debug] phase.c(121) axis2_handler_t *dispatch_post_conditions_evaluator added to the index 0 of the phase PostDispatch
[Tue Jul  9 18:11:12 2013] [debug] phase.c(121) axis2_handler_t *context_handler added to the index 1 of the phase PostDispatch
[Tue Jul  9 18:11:12 2013] [debug] conf_builder.c(234) No custom dispatching order found. Continue with the default dispatching order
[Tue Jul  9 18:11:12 2013] [debug] conf_builder.c(379) Module addressing found in axis2.xml
[Tue Jul  9 18:11:12 2013] [debug] class_loader.c(140) ..//lib/libaxis2_http_sender.so shared lib loaded successfully
[Tue Jul  9 18:11:12 2013] [debug] class_loader.c(140) ..//lib/libaxis2_http_receiver.so shared lib loaded successfully
[Tue Jul  9 18:11:12 2013] [debug] dep_engine.c(1283) axis2_dep_engine_load_module_dll: DLL path is : ..//modules/addressing/libaxis2_mod_addr.so
[Tue Jul  9 18:11:12 2013] [debug] class_loader.c(140) ..//modules/addressing/libaxis2_mod_addr.so shared lib loaded successfully
[Tue Jul  9 18:11:12 2013] [debug] dep_engine.c(1283) axis2_dep_engine_load_module_dll: DLL path is : ..//modules/logging/libaxis2_mod_log.so
[Tue Jul  9 18:11:12 2013] [debug] class_loader.c(140) ..//modules/logging/libaxis2_mod_log.so shared lib loaded successfully
[Tue Jul  9 18:11:12 2013] [debug] svc_builder.c(318) DLL path is : ..//services/myService/myService.so
[Tue Jul  9 18:11:12 2013] [debug] phase_holder.c(139) Add handler AddressingInHandler to phase Transport
[Tue Jul  9 18:11:12 2013] [debug] phase_resolver.c(222) svc name is:myService
[Tue Jul  9 18:11:12 2013] [debug] phase_resolver.c(139) Service name is : myService
:
:
:
:
:
:
[Tue Jul  9 18:11:12 2013] [info]  Starting HTTP server thread
[Tue Jul  9 18:11:47 2013] [debug] http_worker.c(200) Client HTTP version HTTP/1.1
[Tue Jul  9 18:11:47 2013] [debug] http_transport_utils.c(375) HTTP stream chunked
[Tue Jul  9 18:11:47 2013] [debug] soap_builder.c(945) identified soap version is soap12
[Tue Jul  9 18:11:47 2013] [debug] phase.c(210) Invoke the handler request_uri_based_dispatcher within the phase Transport
[Tue Jul  9 18:11:47 2013] [debug] req_uri_disp.c(100) Checking for service using target endpoint address : http://127.0.0.1:9090/axis2/services/myService
[Tue Jul  9 18:11:47 2013] [debug] req_uri_disp.c(121) Service found using target endpoint address
[Tue Jul  9 18:11:47 2013] [debug] phase.c(210) Invoke the handler AddressingInHandler within the phase Transport
[Tue Jul  9 18:11:47 2013] [info]  Starting addressing in handler
[Tue Jul  9 18:11:47 2013] [debug] phase.c(210) Invoke the handler addressing_based_dispatcher within the phase Transport
[Tue Jul  9 18:11:47 2013] [debug] phase.c(210) Invoke the handler rest_dispatcher within the phase Dispatch
[Tue Jul  9 18:11:47 2013] [debug] phase.c(210) Invoke the handler soap_message_body_based_dispatcher within the phase Dispatch
[Tue Jul  9 18:11:47 2013] [debug] soap_body_disp.c(231) Checking for operation using SOAP messagebody's first child's local name : myTask
[Tue Jul  9 18:11:47 2013] [debug] soap_body_disp.c(240) Operation found using SOAP message body's first child's local name
[Tue Jul  9 18:11:47 2013] [debug] phase.c(210) Invoke the handler soap_action_based_dispatcher within the phase Dispatch
[Tue Jul  9 18:11:47 2013] [debug] phase.c(210) Invoke the handler dispatch_post_conditions_evaluator within the phase PostDispatch
[Tue Jul  9 18:11:47 2013] [debug] phase.c(210) Invoke the handler context_handler within the phase PostDispatch
[Tue Jul  9 18:11:47 2013] [debug] raw_xml_in_out_msg_recv.c(382) fault_detail:<soapenv:Detail xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"></soapenv:Detail>
[Tue Jul  9 18:11:47 2013] [debug] phase.c(210) Invoke the handler AddressingOutHandler within the phase MessageOut
[Tue Jul  9 18:11:47 2013] [info]  Starting addressing out handler
[Tue Jul  9 18:11:47 2013] [debug] addr_out_handler.c(133) No action present. Stop processing addressing
[Tue Jul  9 18:11:47 2013] [info]  Request served in 0.004 seconds

Greatly appreciate your help

Thanks,
Pavani


On Tue, Jul 9, 2013 at 11:26 PM, Rajika Kumarasiri <[hidden email]> wrote:
What prevent you from checking the sever log ? 

Rajika


On Wed, Jul 10, 2013 at 2:15 AM, Pavani J <[hidden email]> wrote:
Request has reached server. Since I am at server side (not client), I used gdb to step through service implementation code which returns SUCCESS and also no error/fault by service implementation.

Thanks,
Pavani


On Tue, Jul 9, 2013 at 11:05 PM, Rajika Kumarasiri <[hidden email]> wrote:
The request hasn't even reached the service. You need to check why the request is not dispatched to service. Check the server log. As I said as far as client is concern the invocation is successful with a fault. 

Rajika


On Wed, Jul 10, 2013 at 1:48 AM, Pavani J <[hidden email]> wrote:
But service is not failing and so service is not setting any fault or error. And yet service skeletons on_fault code is called.

Thanks,
Pavani


On Tue, Jul 9, 2013 at 10:39 PM, Rajika Kumarasiri <[hidden email]> wrote:
axis2_status_t returns the status of the invocation. As you have seen the invocation has been successful with a fault. 

Rajika


On Wed, Jul 10, 2013 at 1:02 AM, Pavani J <[hidden email]> wrote:
Hi,

I am developing a web service using Axis2c-1.6.0 based on WSDL generated C code and I am on server side.

I have some ADB APIs that return axis2_status_t. 
Even if these APIs are returning AXIS2_SUCCESS (no other errors from server side business logic), it calls service skeletons on_fault code and sends "No Error" soap fault.

Please see below for packet trace for response

***Server***
HTTP/1.1 500 Internal Server Error
Date: Tue Jul  9 12:10:05 2013 GMT
Server: Axis2C/1.6.0 (Simple Axis2 HTTP Server)
Content-Type: application/soap+xml;charset=UTF-8
Transfer-Encoding: chunked

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
  <soapenv:Body>
    <soapenv:Fault>
      <soapenv:Code>
        <soapenv:Value>soapenv:Sender</soapenv:Value>
      </soapenv:Code>
      <soapenv:Reason>
        <soapenv:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en">No Error</soapenv:Text>
      </soapenv:Reason>
      <soapenv:Detail>
        <fault>myService|http://com.abcd.efg.hijk/2.0/ failed</fault>
      </soapenv:Detail>
    </soapenv:Fault>
  </soapenv:Body>
</soapenv:Envelope>

Below is ADB function for one such API:

axis2_status_t  axis2_skel_myService_myTask(const axutil_env_t *env , axis2_msg_ctx_t *msg_ctx,
                                              adb_cancelTask_t* _cancelTask,
                                          axis2_skel_myService_myTask_fault *fault );
                                          

Looks like it cannot handle when ADB does not have any output params to return (so it returns NULL) and status is AXIS2_SUCCESS.

Changing WSDL is not an option for my project.

My problem is different from the issue at https://issues.apache.org/jira/browse/AXIS2C-1279

I apologize if this question is already answered and please point me to that link.

This is kind of a blocker for me right now. Any help is greatly appreciated.

Thanks,
Pavani







Reply | Threaded
Open this post in threaded view
|

Re: Axis2c-1.6.0: Issue with sending "No Error" soap fault

Pavani J
In reply to this post by Pavani J
Hi Rajika,

The server log does not say much, right? So I am wondering what else should I try to narrow down the cause.

Any help is greatly appreciated.

Thanks,
Pavani


On Tue, Jul 9, 2013 at 10:02 PM, Pavani J <[hidden email]> wrote:
Hi,

I am developing a web service using Axis2c-1.6.0 based on WSDL generated C code and I am on server side.

I have some ADB APIs that return axis2_status_t. 
Even if these APIs are returning AXIS2_SUCCESS (no other errors from server side business logic), it calls service skeletons on_fault code and sends "No Error" soap fault.

Please see below for packet trace for response

***Server***
HTTP/1.1 500 Internal Server Error
Date: Tue Jul  9 12:10:05 2013 GMT
Server: Axis2C/1.6.0 (Simple Axis2 HTTP Server)
Content-Type: application/soap+xml;charset=UTF-8
Transfer-Encoding: chunked

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
  <soapenv:Body>
    <soapenv:Fault>
      <soapenv:Code>
        <soapenv:Value>soapenv:Sender</soapenv:Value>
      </soapenv:Code>
      <soapenv:Reason>
        <soapenv:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en">No Error</soapenv:Text>
      </soapenv:Reason>
      <soapenv:Detail>
        <fault>myService|http://com.abcd.efg.hijk/2.0/ failed</fault>
      </soapenv:Detail>
    </soapenv:Fault>
  </soapenv:Body>
</soapenv:Envelope>

Below is ADB function for one such API:

axis2_status_t  axis2_skel_myService_myTask(const axutil_env_t *env , axis2_msg_ctx_t *msg_ctx,
                                              adb_cancelTask_t* _cancelTask,
                                          axis2_skel_myService_myTask_fault *fault );
                                          

Looks like it cannot handle when ADB does not have any output params to return (so it returns NULL) and status is AXIS2_SUCCESS.

Changing WSDL is not an option for my project.

My problem is different from the issue at https://issues.apache.org/jira/browse/AXIS2C-1279

I apologize if this question is already answered and please point me to that link.

This is kind of a blocker for me right now. Any help is greatly appreciated.

Thanks,
Pavani


Reply | Threaded
Open this post in threaded view
|

Re: Axis2c-1.6.0: Issue with sending "No Error" soap fault

Tharindu Mathew-2

Are you sure only one request is being sent to the server?

Can it be one succeeding and one hitting the fault sequence?

On Jul 10, 2013 3:17 PM, "Pavani J" <[hidden email]> wrote:
Hi Rajika,

The server log does not say much, right? So I am wondering what else should I try to narrow down the cause.

Any help is greatly appreciated.

Thanks,
Pavani


On Tue, Jul 9, 2013 at 10:02 PM, Pavani J <[hidden email]> wrote:
Hi,

I am developing a web service using Axis2c-1.6.0 based on WSDL generated C code and I am on server side.

I have some ADB APIs that return axis2_status_t. 
Even if these APIs are returning AXIS2_SUCCESS (no other errors from server side business logic), it calls service skeletons on_fault code and sends "No Error" soap fault.

Please see below for packet trace for response

***Server***
HTTP/1.1 500 Internal Server Error
Date: Tue Jul  9 12:10:05 2013 GMT
Server: Axis2C/1.6.0 (Simple Axis2 HTTP Server)
Content-Type: application/soap+xml;charset=UTF-8
Transfer-Encoding: chunked

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
  <soapenv:Body>
    <soapenv:Fault>
      <soapenv:Code>
        <soapenv:Value>soapenv:Sender</soapenv:Value>
      </soapenv:Code>
      <soapenv:Reason>
        <soapenv:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en">No Error</soapenv:Text>
      </soapenv:Reason>
      <soapenv:Detail>
        <fault>myService|http://com.abcd.efg.hijk/2.0/ failed</fault>
      </soapenv:Detail>
    </soapenv:Fault>
  </soapenv:Body>
</soapenv:Envelope>

Below is ADB function for one such API:

axis2_status_t  axis2_skel_myService_myTask(const axutil_env_t *env , axis2_msg_ctx_t *msg_ctx,
                                              adb_cancelTask_t* _cancelTask,
                                          axis2_skel_myService_myTask_fault *fault );
                                          

Looks like it cannot handle when ADB does not have any output params to return (so it returns NULL) and status is AXIS2_SUCCESS.

Changing WSDL is not an option for my project.

My problem is different from the issue at https://issues.apache.org/jira/browse/AXIS2C-1279

I apologize if this question is already answered and please point me to that link.

This is kind of a blocker for me right now. Any help is greatly appreciated.

Thanks,
Pavani


Reply | Threaded
Open this post in threaded view
|

Re: Axis2c-1.6.0: Issue with sending "No Error" soap fault

Pavani J
Actually there is one more request before this particular one but there are no errors I could see in log file for that request. Client cannot send more requests because of this issue of "No Error".

Here is log with these two requests this time.

[Tue Jul  9 22:25:15 2013] [info]  Starting Axis2 HTTP server....
[Tue Jul  9 22:25:15 2013] [info]  Apache Axis2/C version in use : 1.6.0
[Tue Jul  9 22:25:15 2013] [info]  Server port : 9090
[Tue Jul  9 22:25:15 2013] [info]  Repo location : ../
[Tue Jul  9 22:25:15 2013] [info]  Read Timeout : 60000 ms
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *request_uri_based_dispatcher added to the index 0 of the phase Transport
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *addressing_based_dispatcher added to the index 1 of the phase Transport
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *rest_dispatcher added to the index 0 of the phase Dispatch
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *soap_message_body_based_dispatcher added to the index 1 of the phase Dispatch
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *soap_action_based_dispatcher added to the index 2 of the phase Dispatch
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *dispatch_post_conditions_evaluator added to the index 0 of the phase PostDispatch
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *context_handler added to the index 1 of the phase PostDispatch
[Tue Jul  9 22:25:15 2013] [debug] conf_builder.c(234) No custom dispatching order found. Continue with the default dispatching order
[Tue Jul  9 22:25:15 2013] [debug] conf_builder.c(379) Module addressing found in axis2.xml
[Tue Jul  9 22:25:15 2013] [debug] class_loader.c(140) ..//lib/libaxis2_http_sender.so shared lib loaded successfully
[Tue Jul  9 22:25:15 2013] [debug] class_loader.c(140) ..//lib/libaxis2_http_receiver.so shared lib loaded successfully
[Tue Jul  9 22:25:15 2013] [debug] dep_engine.c(1283) axis2_dep_engine_load_module_dll: DLL path is : ..//modules/addressing/libaxis2_mod_addr.so
[Tue Jul  9 22:25:15 2013] [debug] class_loader.c(140) ..//modules/addressing/libaxis2_mod_addr.so shared lib loaded successfully
[Tue Jul  9 22:25:15 2013] [debug] dep_engine.c(1283) axis2_dep_engine_load_module_dll: DLL path is : ..//modules/logging/libaxis2_mod_log.so
[Tue Jul  9 22:25:15 2013] [debug] class_loader.c(140) ..//modules/logging/libaxis2_mod_log.so shared lib loaded successfully
[Tue Jul  9 22:25:15 2013] [debug] svc_builder.c(318) DLL path is : ..//services/myService/libmyService.so
[Tue Jul  9 22:25:15 2013] [debug] phase_holder.c(139) Add handler AddressingInHandler to phase Transport
[Tue Jul  9 22:25:15 2013] [debug] phase_resolver.c(222) svc name is:myService
[Tue Jul  9 22:25:15 2013] [debug] phase_resolver.c(139) Service name is : myService
[Tue Jul  9 22:25:15 2013] [debug] phase_resolver.c(1123) Operation name is : myTask
[Tue Jul  9 22:25:15 2013] [debug] phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
[Tue Jul  9 22:25:15 2013] [debug] phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
[Tue Jul  9 22:25:15 2013] [debug] phase_resolver.c(1123) Operation name is : setContext
[Tue Jul  9 22:25:15 2013] [debug] phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
[Tue Jul  9 22:25:15 2013] [debug] phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
:
:
<More Operations>
:
:
[Tue Jul  9 22:25:15 2013] [info]  Starting HTTP server thread
[Tue Jul  9 22:25:41 2013] [debug] http_worker.c(200) Client HTTP version HTTP/1.1
[Tue Jul  9 22:25:41 2013] [debug] soap_builder.c(945) identified soap version is soap12
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler request_uri_based_dispatcher within the phase Transport
[Tue Jul  9 22:25:42 2013] [debug] req_uri_disp.c(100) Checking for service using target endpoint address : http://192.168.29.112:9090/axis2/services/myService
[Tue Jul  9 22:25:42 2013] [debug] req_uri_disp.c(121) Service found using target endpoint address
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler AddressingInHandler within the phase Transport
[Tue Jul  9 22:25:42 2013] [info]  Starting addressing in handler
[Tue Jul  9 22:25:42 2013] [info]  addr_in_handler.c
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler addressing_based_dispatcher within the phase Transport
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler rest_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler soap_message_body_based_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:42 2013] [debug] soap_body_disp.c(231) Checking for operation using SOAP messagebody's first child's local name : setContext
[Tue Jul  9 22:25:42 2013] [debug] soap_body_disp.c(240) Operation found using SOAP message body's first child's local name
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler soap_action_based_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler dispatch_post_conditions_evaluator within the phase PostDispatch
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler context_handler within the phase PostDispatch
[Tue Jul  9 22:25:42 2013] [debug] class_loader.c(140) ..//services/myService/libmyService.so shared lib loaded successfully
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler AddressingOutHandler within the phase MessageOut
[Tue Jul  9 22:25:42 2013] [info]  Starting addressing out handler
[Tue Jul  9 22:25:42 2013] [debug] addr_out_handler.c(133) No action present. Stop processing addressing
[Tue Jul  9 22:25:42 2013] [info]  Request served in 1.253 seconds
[Tue Jul  9 22:25:43 2013] [debug] http_worker.c(200) Client HTTP version HTTP/1.1
[Tue Jul  9 22:25:43 2013] [debug] soap_builder.c(945) identified soap version is soap12
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler request_uri_based_dispatcher within the phase Transport
[Tue Jul  9 22:25:43 2013] [debug] req_uri_disp.c(100) Checking for service using target endpoint address : http://192.168.29.112:9090/axis2/services/myService
[Tue Jul  9 22:25:43 2013] [debug] req_uri_disp.c(121) Service found using target endpoint address
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler AddressingInHandler within the phase Transport
[Tue Jul  9 22:25:43 2013] [info]  Starting addressing in handler
[Tue Jul  9 22:25:43 2013] [info]  addr_in_handler.c
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler addressing_based_dispatcher within the phase Transport
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler rest_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler soap_message_body_based_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:43 2013] [debug] soap_body_disp.c(231) Checking for operation using SOAP messagebody's first child's local name : myTask
[Tue Jul  9 22:25:43 2013] [debug] soap_body_disp.c(240) Operation found using SOAP message body's first child's local name
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler soap_action_based_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler dispatch_post_conditions_evaluator within the phase PostDispatch
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler context_handler within the phase PostDispatch
[Tue Jul  9 22:25:43 2013] [debug] raw_xml_in_out_msg_recv.c(382) fault_detail:<soapenv:Detail xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"></soapenv:Detail>
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler AddressingOutHandler within the phase MessageOut
[Tue Jul  9 22:25:43 2013] [info]  Starting addressing out handler
[Tue Jul  9 22:25:43 2013] [debug] addr_out_handler.c(133) No action present. Stop processing addressing
[Tue Jul  9 22:25:43 2013] [info]  Request served in 0.059 seconds

And response for setContext (first request) is fine when examined using wireshark. Only myTask (second request) operation fails.

Greatly appreciate your help.

Thanks,
Pavani


On Wed, Jul 10, 2013 at 3:23 AM, Tharindu Mathew <[hidden email]> wrote:

Are you sure only one request is being sent to the server?

Can it be one succeeding and one hitting the fault sequence?

On Jul 10, 2013 3:17 PM, "Pavani J" <[hidden email]> wrote:
Hi Rajika,

The server log does not say much, right? So I am wondering what else should I try to narrow down the cause.

Any help is greatly appreciated.

Thanks,
Pavani


On Tue, Jul 9, 2013 at 10:02 PM, Pavani J <[hidden email]> wrote:
Hi,

I am developing a web service using Axis2c-1.6.0 based on WSDL generated C code and I am on server side.

I have some ADB APIs that return axis2_status_t. 
Even if these APIs are returning AXIS2_SUCCESS (no other errors from server side business logic), it calls service skeletons on_fault code and sends "No Error" soap fault.

Please see below for packet trace for response

***Server***
HTTP/1.1 500 Internal Server Error
Date: Tue Jul  9 12:10:05 2013 GMT
Server: Axis2C/1.6.0 (Simple Axis2 HTTP Server)
Content-Type: application/soap+xml;charset=UTF-8
Transfer-Encoding: chunked

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
  <soapenv:Body>
    <soapenv:Fault>
      <soapenv:Code>
        <soapenv:Value>soapenv:Sender</soapenv:Value>
      </soapenv:Code>
      <soapenv:Reason>
        <soapenv:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en">No Error</soapenv:Text>
      </soapenv:Reason>
      <soapenv:Detail>
        <fault>myService|http://com.abcd.efg.hijk/2.0/ failed</fault>
      </soapenv:Detail>
    </soapenv:Fault>
  </soapenv:Body>
</soapenv:Envelope>

Below is ADB function for one such API:

axis2_status_t  axis2_skel_myService_myTask(const axutil_env_t *env , axis2_msg_ctx_t *msg_ctx,
                                              adb_cancelTask_t* _cancelTask,
                                          axis2_skel_myService_myTask_fault *fault );
                                          

Looks like it cannot handle when ADB does not have any output params to return (so it returns NULL) and status is AXIS2_SUCCESS.

Changing WSDL is not an option for my project.

My problem is different from the issue at https://issues.apache.org/jira/browse/AXIS2C-1279

I apologize if this question is already answered and please point me to that link.

This is kind of a blocker for me right now. Any help is greatly appreciated.

Thanks,
Pavani



Reply | Threaded
Open this post in threaded view
|

Re: Axis2c-1.6.0: Issue with sending "No Error" soap fault

Rajika Kumarasiri-2
It's strange that you have received a 500 and the log doesn't have any error entry. You can try building a client yourselves using the axiom api for the failing operation and see if the code generator is the culprit. See the sample folder to see how to use the api. 

Rajika 


On Wed, Jul 10, 2013 at 7:20 AM, Pavani J <[hidden email]> wrote:
Actually there is one more request before this particular one but there are no errors I could see in log file for that request. Client cannot send more requests because of this issue of "No Error".

Here is log with these two requests this time.

[Tue Jul  9 22:25:15 2013] [info]  Starting Axis2 HTTP server....
[Tue Jul  9 22:25:15 2013] [info]  Apache Axis2/C version in use : 1.6.0
[Tue Jul  9 22:25:15 2013] [info]  Server port : 9090
[Tue Jul  9 22:25:15 2013] [info]  Repo location : ../
[Tue Jul  9 22:25:15 2013] [info]  Read Timeout : 60000 ms
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *request_uri_based_dispatcher added to the index 0 of the phase Transport
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *addressing_based_dispatcher added to the index 1 of the phase Transport
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *rest_dispatcher added to the index 0 of the phase Dispatch
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *soap_message_body_based_dispatcher added to the index 1 of the phase Dispatch
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *soap_action_based_dispatcher added to the index 2 of the phase Dispatch
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *dispatch_post_conditions_evaluator added to the index 0 of the phase PostDispatch
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *context_handler added to the index 1 of the phase PostDispatch
[Tue Jul  9 22:25:15 2013] [debug] conf_builder.c(234) No custom dispatching order found. Continue with the default dispatching order
[Tue Jul  9 22:25:15 2013] [debug] conf_builder.c(379) Module addressing found in axis2.xml
[Tue Jul  9 22:25:15 2013] [debug] class_loader.c(140) ..//lib/libaxis2_http_sender.so shared lib loaded successfully
[Tue Jul  9 22:25:15 2013] [debug] class_loader.c(140) ..//lib/libaxis2_http_receiver.so shared lib loaded successfully
[Tue Jul  9 22:25:15 2013] [debug] dep_engine.c(1283) axis2_dep_engine_load_module_dll: DLL path is : ..//modules/addressing/libaxis2_mod_addr.so
[Tue Jul  9 22:25:15 2013] [debug] class_loader.c(140) ..//modules/addressing/libaxis2_mod_addr.so shared lib loaded successfully
[Tue Jul  9 22:25:15 2013] [debug] dep_engine.c(1283) axis2_dep_engine_load_module_dll: DLL path is : ..//modules/logging/libaxis2_mod_log.so
[Tue Jul  9 22:25:15 2013] [debug] class_loader.c(140) ..//modules/logging/libaxis2_mod_log.so shared lib loaded successfully
[Tue Jul  9 22:25:15 2013] [debug] svc_builder.c(318) DLL path is : ..//services/myService/libmyService.so
[Tue Jul  9 22:25:15 2013] [debug] phase_holder.c(139) Add handler AddressingInHandler to phase Transport
[Tue Jul  9 22:25:15 2013] [debug] phase_resolver.c(222) svc name is:myService
[Tue Jul  9 22:25:15 2013] [debug] phase_resolver.c(139) Service name is : myService
[Tue Jul  9 22:25:15 2013] [debug] phase_resolver.c(1123) Operation name is : myTask
[Tue Jul  9 22:25:15 2013] [debug] phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
[Tue Jul  9 22:25:15 2013] [debug] phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
[Tue Jul  9 22:25:15 2013] [debug] phase_resolver.c(1123) Operation name is : setContext
[Tue Jul  9 22:25:15 2013] [debug] phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
[Tue Jul  9 22:25:15 2013] [debug] phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
:
:
<More Operations>
:
:
[Tue Jul  9 22:25:15 2013] [info]  Starting HTTP server thread
[Tue Jul  9 22:25:41 2013] [debug] http_worker.c(200) Client HTTP version HTTP/1.1
[Tue Jul  9 22:25:41 2013] [debug] soap_builder.c(945) identified soap version is soap12
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler request_uri_based_dispatcher within the phase Transport
[Tue Jul  9 22:25:42 2013] [debug] req_uri_disp.c(100) Checking for service using target endpoint address : http://192.168.29.112:9090/axis2/services/myService
[Tue Jul  9 22:25:42 2013] [debug] req_uri_disp.c(121) Service found using target endpoint address
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler AddressingInHandler within the phase Transport
[Tue Jul  9 22:25:42 2013] [info]  Starting addressing in handler
[Tue Jul  9 22:25:42 2013] [info]  addr_in_handler.c
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler addressing_based_dispatcher within the phase Transport
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler rest_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler soap_message_body_based_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:42 2013] [debug] soap_body_disp.c(231) Checking for operation using SOAP messagebody's first child's local name : setContext
[Tue Jul  9 22:25:42 2013] [debug] soap_body_disp.c(240) Operation found using SOAP message body's first child's local name
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler soap_action_based_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler dispatch_post_conditions_evaluator within the phase PostDispatch
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler context_handler within the phase PostDispatch
[Tue Jul  9 22:25:42 2013] [debug] class_loader.c(140) ..//services/myService/libmyService.so shared lib loaded successfully
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler AddressingOutHandler within the phase MessageOut
[Tue Jul  9 22:25:42 2013] [info]  Starting addressing out handler
[Tue Jul  9 22:25:42 2013] [debug] addr_out_handler.c(133) No action present. Stop processing addressing
[Tue Jul  9 22:25:42 2013] [info]  Request served in 1.253 seconds
[Tue Jul  9 22:25:43 2013] [debug] http_worker.c(200) Client HTTP version HTTP/1.1
[Tue Jul  9 22:25:43 2013] [debug] soap_builder.c(945) identified soap version is soap12
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler request_uri_based_dispatcher within the phase Transport
[Tue Jul  9 22:25:43 2013] [debug] req_uri_disp.c(100) Checking for service using target endpoint address : http://192.168.29.112:9090/axis2/services/myService
[Tue Jul  9 22:25:43 2013] [debug] req_uri_disp.c(121) Service found using target endpoint address
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler AddressingInHandler within the phase Transport
[Tue Jul  9 22:25:43 2013] [info]  Starting addressing in handler
[Tue Jul  9 22:25:43 2013] [info]  addr_in_handler.c
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler addressing_based_dispatcher within the phase Transport
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler rest_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler soap_message_body_based_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:43 2013] [debug] soap_body_disp.c(231) Checking for operation using SOAP messagebody's first child's local name : myTask
[Tue Jul  9 22:25:43 2013] [debug] soap_body_disp.c(240) Operation found using SOAP message body's first child's local name
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler soap_action_based_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler dispatch_post_conditions_evaluator within the phase PostDispatch
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler context_handler within the phase PostDispatch
[Tue Jul  9 22:25:43 2013] [debug] raw_xml_in_out_msg_recv.c(382) fault_detail:<soapenv:Detail xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"></soapenv:Detail>
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler AddressingOutHandler within the phase MessageOut
[Tue Jul  9 22:25:43 2013] [info]  Starting addressing out handler
[Tue Jul  9 22:25:43 2013] [debug] addr_out_handler.c(133) No action present. Stop processing addressing
[Tue Jul  9 22:25:43 2013] [info]  Request served in 0.059 seconds

And response for setContext (first request) is fine when examined using wireshark. Only myTask (second request) operation fails.

Greatly appreciate your help.

Thanks,
Pavani


On Wed, Jul 10, 2013 at 3:23 AM, Tharindu Mathew <[hidden email]> wrote:

Are you sure only one request is being sent to the server?

Can it be one succeeding and one hitting the fault sequence?

On Jul 10, 2013 3:17 PM, "Pavani J" <[hidden email]> wrote:
Hi Rajika,

The server log does not say much, right? So I am wondering what else should I try to narrow down the cause.

Any help is greatly appreciated.

Thanks,
Pavani


On Tue, Jul 9, 2013 at 10:02 PM, Pavani J <[hidden email]> wrote:
Hi,

I am developing a web service using Axis2c-1.6.0 based on WSDL generated C code and I am on server side.

I have some ADB APIs that return axis2_status_t. 
Even if these APIs are returning AXIS2_SUCCESS (no other errors from server side business logic), it calls service skeletons on_fault code and sends "No Error" soap fault.

Please see below for packet trace for response

***Server***
HTTP/1.1 500 Internal Server Error
Date: Tue Jul  9 12:10:05 2013 GMT
Server: Axis2C/1.6.0 (Simple Axis2 HTTP Server)
Content-Type: application/soap+xml;charset=UTF-8
Transfer-Encoding: chunked

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
  <soapenv:Body>
    <soapenv:Fault>
      <soapenv:Code>
        <soapenv:Value>soapenv:Sender</soapenv:Value>
      </soapenv:Code>
      <soapenv:Reason>
        <soapenv:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en">No Error</soapenv:Text>
      </soapenv:Reason>
      <soapenv:Detail>
        <fault>myService|http://com.abcd.efg.hijk/2.0/ failed</fault>
      </soapenv:Detail>
    </soapenv:Fault>
  </soapenv:Body>
</soapenv:Envelope>

Below is ADB function for one such API:

axis2_status_t  axis2_skel_myService_myTask(const axutil_env_t *env , axis2_msg_ctx_t *msg_ctx,
                                              adb_cancelTask_t* _cancelTask,
                                          axis2_skel_myService_myTask_fault *fault );
                                          

Looks like it cannot handle when ADB does not have any output params to return (so it returns NULL) and status is AXIS2_SUCCESS.

Changing WSDL is not an option for my project.

My problem is different from the issue at https://issues.apache.org/jira/browse/AXIS2C-1279

I apologize if this question is already answered and please point me to that link.

This is kind of a blocker for me right now. Any help is greatly appreciated.

Thanks,
Pavani




Reply | Threaded
Open this post in threaded view
|

Re: Axis2c-1.6.0: Issue with sending "No Error" soap fault

Pavani J
I am using axis2-1.6.2 jar files for generation C stubs. Will that be of any problem.

Will try to build client using axiom api.

Thanks,
Pavani


On Wed, Jul 10, 2013 at 10:38 AM, Rajika Kumarasiri <[hidden email]> wrote:
It's strange that you have received a 500 and the log doesn't have any error entry. You can try building a client yourselves using the axiom api for the failing operation and see if the code generator is the culprit. See the sample folder to see how to use the api. 

Rajika 


On Wed, Jul 10, 2013 at 7:20 AM, Pavani J <[hidden email]> wrote:
Actually there is one more request before this particular one but there are no errors I could see in log file for that request. Client cannot send more requests because of this issue of "No Error".

Here is log with these two requests this time.

[Tue Jul  9 22:25:15 2013] [info]  Starting Axis2 HTTP server....
[Tue Jul  9 22:25:15 2013] [info]  Apache Axis2/C version in use : 1.6.0
[Tue Jul  9 22:25:15 2013] [info]  Server port : 9090
[Tue Jul  9 22:25:15 2013] [info]  Repo location : ../
[Tue Jul  9 22:25:15 2013] [info]  Read Timeout : 60000 ms
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *request_uri_based_dispatcher added to the index 0 of the phase Transport
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *addressing_based_dispatcher added to the index 1 of the phase Transport
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *rest_dispatcher added to the index 0 of the phase Dispatch
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *soap_message_body_based_dispatcher added to the index 1 of the phase Dispatch
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *soap_action_based_dispatcher added to the index 2 of the phase Dispatch
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *dispatch_post_conditions_evaluator added to the index 0 of the phase PostDispatch
[Tue Jul  9 22:25:15 2013] [debug] phase.c(121) axis2_handler_t *context_handler added to the index 1 of the phase PostDispatch
[Tue Jul  9 22:25:15 2013] [debug] conf_builder.c(234) No custom dispatching order found. Continue with the default dispatching order
[Tue Jul  9 22:25:15 2013] [debug] conf_builder.c(379) Module addressing found in axis2.xml
[Tue Jul  9 22:25:15 2013] [debug] class_loader.c(140) ..//lib/libaxis2_http_sender.so shared lib loaded successfully
[Tue Jul  9 22:25:15 2013] [debug] class_loader.c(140) ..//lib/libaxis2_http_receiver.so shared lib loaded successfully
[Tue Jul  9 22:25:15 2013] [debug] dep_engine.c(1283) axis2_dep_engine_load_module_dll: DLL path is : ..//modules/addressing/libaxis2_mod_addr.so
[Tue Jul  9 22:25:15 2013] [debug] class_loader.c(140) ..//modules/addressing/libaxis2_mod_addr.so shared lib loaded successfully
[Tue Jul  9 22:25:15 2013] [debug] dep_engine.c(1283) axis2_dep_engine_load_module_dll: DLL path is : ..//modules/logging/libaxis2_mod_log.so
[Tue Jul  9 22:25:15 2013] [debug] class_loader.c(140) ..//modules/logging/libaxis2_mod_log.so shared lib loaded successfully
[Tue Jul  9 22:25:15 2013] [debug] svc_builder.c(318) DLL path is : ..//services/myService/libmyService.so
[Tue Jul  9 22:25:15 2013] [debug] phase_holder.c(139) Add handler AddressingInHandler to phase Transport
[Tue Jul  9 22:25:15 2013] [debug] phase_resolver.c(222) svc name is:myService
[Tue Jul  9 22:25:15 2013] [debug] phase_resolver.c(139) Service name is : myService
[Tue Jul  9 22:25:15 2013] [debug] phase_resolver.c(1123) Operation name is : myTask
[Tue Jul  9 22:25:15 2013] [debug] phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
[Tue Jul  9 22:25:15 2013] [debug] phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
[Tue Jul  9 22:25:15 2013] [debug] phase_resolver.c(1123) Operation name is : setContext
[Tue Jul  9 22:25:15 2013] [debug] phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
[Tue Jul  9 22:25:15 2013] [debug] phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
:
:
<More Operations>
:
:
[Tue Jul  9 22:25:15 2013] [info]  Starting HTTP server thread
[Tue Jul  9 22:25:41 2013] [debug] http_worker.c(200) Client HTTP version HTTP/1.1
[Tue Jul  9 22:25:41 2013] [debug] soap_builder.c(945) identified soap version is soap12
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler request_uri_based_dispatcher within the phase Transport
[Tue Jul  9 22:25:42 2013] [debug] req_uri_disp.c(100) Checking for service using target endpoint address : http://192.168.29.112:9090/axis2/services/myService
[Tue Jul  9 22:25:42 2013] [debug] req_uri_disp.c(121) Service found using target endpoint address
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler AddressingInHandler within the phase Transport
[Tue Jul  9 22:25:42 2013] [info]  Starting addressing in handler
[Tue Jul  9 22:25:42 2013] [info]  addr_in_handler.c
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler addressing_based_dispatcher within the phase Transport
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler rest_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler soap_message_body_based_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:42 2013] [debug] soap_body_disp.c(231) Checking for operation using SOAP messagebody's first child's local name : setContext
[Tue Jul  9 22:25:42 2013] [debug] soap_body_disp.c(240) Operation found using SOAP message body's first child's local name
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler soap_action_based_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler dispatch_post_conditions_evaluator within the phase PostDispatch
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler context_handler within the phase PostDispatch
[Tue Jul  9 22:25:42 2013] [debug] class_loader.c(140) ..//services/myService/libmyService.so shared lib loaded successfully
[Tue Jul  9 22:25:42 2013] [debug] phase.c(210) Invoke the handler AddressingOutHandler within the phase MessageOut
[Tue Jul  9 22:25:42 2013] [info]  Starting addressing out handler
[Tue Jul  9 22:25:42 2013] [debug] addr_out_handler.c(133) No action present. Stop processing addressing
[Tue Jul  9 22:25:42 2013] [info]  Request served in 1.253 seconds
[Tue Jul  9 22:25:43 2013] [debug] http_worker.c(200) Client HTTP version HTTP/1.1
[Tue Jul  9 22:25:43 2013] [debug] soap_builder.c(945) identified soap version is soap12
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler request_uri_based_dispatcher within the phase Transport
[Tue Jul  9 22:25:43 2013] [debug] req_uri_disp.c(100) Checking for service using target endpoint address : http://192.168.29.112:9090/axis2/services/myService
[Tue Jul  9 22:25:43 2013] [debug] req_uri_disp.c(121) Service found using target endpoint address
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler AddressingInHandler within the phase Transport
[Tue Jul  9 22:25:43 2013] [info]  Starting addressing in handler
[Tue Jul  9 22:25:43 2013] [info]  addr_in_handler.c
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler addressing_based_dispatcher within the phase Transport
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler rest_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler soap_message_body_based_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:43 2013] [debug] soap_body_disp.c(231) Checking for operation using SOAP messagebody's first child's local name : myTask
[Tue Jul  9 22:25:43 2013] [debug] soap_body_disp.c(240) Operation found using SOAP message body's first child's local name
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler soap_action_based_dispatcher within the phase Dispatch
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler dispatch_post_conditions_evaluator within the phase PostDispatch
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler context_handler within the phase PostDispatch
[Tue Jul  9 22:25:43 2013] [debug] raw_xml_in_out_msg_recv.c(382) fault_detail:<soapenv:Detail xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"></soapenv:Detail>
[Tue Jul  9 22:25:43 2013] [debug] phase.c(210) Invoke the handler AddressingOutHandler within the phase MessageOut
[Tue Jul  9 22:25:43 2013] [info]  Starting addressing out handler
[Tue Jul  9 22:25:43 2013] [debug] addr_out_handler.c(133) No action present. Stop processing addressing
[Tue Jul  9 22:25:43 2013] [info]  Request served in 0.059 seconds

And response for setContext (first request) is fine when examined using wireshark. Only myTask (second request) operation fails.

Greatly appreciate your help.

Thanks,
Pavani


On Wed, Jul 10, 2013 at 3:23 AM, Tharindu Mathew <[hidden email]> wrote:

Are you sure only one request is being sent to the server?

Can it be one succeeding and one hitting the fault sequence?

On Jul 10, 2013 3:17 PM, "Pavani J" <[hidden email]> wrote:
Hi Rajika,

The server log does not say much, right? So I am wondering what else should I try to narrow down the cause.

Any help is greatly appreciated.

Thanks,
Pavani


On Tue, Jul 9, 2013 at 10:02 PM, Pavani J <[hidden email]> wrote:
Hi,

I am developing a web service using Axis2c-1.6.0 based on WSDL generated C code and I am on server side.

I have some ADB APIs that return axis2_status_t. 
Even if these APIs are returning AXIS2_SUCCESS (no other errors from server side business logic), it calls service skeletons on_fault code and sends "No Error" soap fault.

Please see below for packet trace for response

***Server***
HTTP/1.1 500 Internal Server Error
Date: Tue Jul  9 12:10:05 2013 GMT
Server: Axis2C/1.6.0 (Simple Axis2 HTTP Server)
Content-Type: application/soap+xml;charset=UTF-8
Transfer-Encoding: chunked

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
  <soapenv:Body>
    <soapenv:Fault>
      <soapenv:Code>
        <soapenv:Value>soapenv:Sender</soapenv:Value>
      </soapenv:Code>
      <soapenv:Reason>
        <soapenv:Text xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en">No Error</soapenv:Text>
      </soapenv:Reason>
      <soapenv:Detail>
        <fault>myService|http://com.abcd.efg.hijk/2.0/ failed</fault>
      </soapenv:Detail>
    </soapenv:Fault>
  </soapenv:Body>
</soapenv:Envelope>

Below is ADB function for one such API:

axis2_status_t  axis2_skel_myService_myTask(const axutil_env_t *env , axis2_msg_ctx_t *msg_ctx,
                                              adb_cancelTask_t* _cancelTask,
                                          axis2_skel_myService_myTask_fault *fault );
                                          

Looks like it cannot handle when ADB does not have any output params to return (so it returns NULL) and status is AXIS2_SUCCESS.

Changing WSDL is not an option for my project.

My problem is different from the issue at https://issues.apache.org/jira/browse/AXIS2C-1279

I apologize if this question is already answered and please point me to that link.

This is kind of a blocker for me right now. Any help is greatly appreciated.

Thanks,
Pavani