Hi All,
I have a job which consumes a web service using a Webservice SOAP datastore. Initially the web service was
at an http address and the everything was working fine. Recently the address changed to an https. I made all
the required changes to enable SSL, but now the job crashes inside the query that makes the web service
function call.
O/S: Win Server 2008 R2 Standard
DS JobServer Ver: 14.2.3.549
Web service URL: https://webappstest.rclfoods.com/sapdataservices/FileManager.asmx?wsdl
I have made the following changes for SSL specified in the Integrators Guide and from searching the forums :
* Downloaded a base64 encoded server certificate and saved it in a folder on the job server
* Made a copy of the folder D:\Program Files (x86)\SAP BusinessObjects\Data Services\ext\webservice-c
* Made the changes to the axis2.xml file in the new folder as per the Integrator's Guide
* Entered the path to the new folder in the Webservice datastore parameter "Axis2/c config file path"
The modified section of the axis2.xml is as follows:
<!-- ================================================= -->
<!-- Transport Ins -->
<!-- ================================================= -->
<transportReceiver name="http" class="axis2_http_receiver">
<parameter name="port" locked="false">6060</parameter>
<parameter name="exposeHeaders" locked="true">false</parameter>
</transportReceiver>
<transportReceiver name="https" class="axis2_http_receiver">
<parameter name="port" locked="false">6060</parameter>
<parameter name="exposeHeaders" locked="true">false</parameter>
</transportReceiver>
<!--transportReceiver name="tcp" class="axis2_tcp_receiver">
<parameter name="port" locked="false">6060</parameter>
</transportReceiver-->
<!-- ================================================= -->
<!-- Transport Outs -->
<!-- ================================================= -->
<transportSender name="http" class="axis2_http_sender">
<parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
<parameter name="xml-declaration" insert="false"/>
<!--parameter name="Transfer-Encoding">chunked</parameter-->
<!--parameter name="HTTP-Authentication" username="" password="" locked="true"/-->
<!--parameter name="PROXY" proxy_host="127.0.0.1" proxy_port="8080" proxy_username="" proxy_password="" locked="true"/-->
</transportSender>
<!-- Uncomment the following with appropriate parameters to enable the SSL transport sender.
Also make sure that the appropriate transport receiver is enabled above.-->
<transportSender name="https" class="axis2_http_sender">
<parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
<parameter name="xml-declaration" insert="false"/>
</transportSender>
<parameter name="SERVER_CERT">D:/Program Files (x86)/SAP BusinessObjects/Data Services/ext/jre/lib/security/Entrust_Root.cer</parameter>
<!--parameter name="KEY_FILE">/path/to/client/certificate/chain/file</parameter>
<parameter name="SSL_PASSPHRASE">passphrase</parameter>
-->
<!-- Uncomment this one with the appropriate papameters to enable the TCP transport Sender-->
<!--transportSender name="tcp" class="axis2_tcp_sender">
<parameter name="PROTOCOL" locked="false">TCP</parameter>
<parameter name="xml-declaration" insert="false"/>
</transportSender-->
I have tried running the job from the command line with the -np -D parameters. The generated axis2_log.txt entries are:
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\engine\phase.c(121) axis2_handler_t *request_uri_based_dispatcher added to the index 0 of the phase Transport
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\engine\phase.c(121) axis2_handler_t *addressing_based_dispatcher added to the index 1 of the phase Transport
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\engine\phase.c(121) axis2_handler_t *rest_dispatcher added to the index 0 of the phase Dispatch
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\engine\phase.c(121) axis2_handler_t *soap_message_body_based_dispatcher added to the index 1 of the phase Dispatch
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\engine\phase.c(121) axis2_handler_t *soap_action_based_dispatcher added to the index 2 of the phase Dispatch
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\engine\phase.c(121) axis2_handler_t *dispatch_post_conditions_evaluator added to the index 0 of the phase PostDispatch
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\engine\phase.c(121) axis2_handler_t *context_handler added to the index 1 of the phase PostDispatch
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\deployment\conf_builder.c(234) No custom dispatching order found. Continue with the default dispatching order
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\deployment\conf_builder.c(379) Module addressing found in axis2.xml
[Fri Nov 06 09:39:20 2015] [debug] ..\..\util\src\class_loader.c(140) D:\Program Files (x86)\SAP BusinessObjects\Data Services\ext\webservice-HR_WEBSERVICES/lib/axis2_http_sender.dll shared lib loaded successfully
[Fri Nov 06 09:39:20 2015] [debug] ..\..\util\src\class_loader.c(140) D:\Program Files (x86)\SAP BusinessObjects\Data Services\ext\webservice-HR_WEBSERVICES/lib/axis2_http_sender.dll shared lib loaded successfully
[Fri Nov 06 09:39:20 2015] [debug] ..\..\util\src\class_loader.c(140) D:\Program Files (x86)\SAP BusinessObjects\Data Services\ext\webservice-HR_WEBSERVICES/lib/axis2_http_receiver.dll shared lib loaded successfully
[Fri Nov 06 09:39:20 2015] [debug] ..\..\util\src\class_loader.c(140) D:\Program Files (x86)\SAP BusinessObjects\Data Services\ext\webservice-HR_WEBSERVICES/lib/axis2_http_receiver.dll shared lib loaded successfully
[Fri Nov 06 09:39:20 2015] [info] No files in the path D:\Program Files (x86)\SAP BusinessObjects\Data Services\ext\webservice-HR_WEBSERVICES/services.
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\deployment\dep_engine.c(1283) axis2_dep_engine_load_module_dll: DLL path is : D:\Program Files (x86)\SAP BusinessObjects\Data Services\ext\webservice-HR_WEBSERVICES/modules/addressing/axis2_mod_addr.dll
[Fri Nov 06 09:39:20 2015] [debug] ..\..\util\src\class_loader.c(140) D:\Program Files (x86)\SAP BusinessObjects\Data Services\ext\webservice-HR_WEBSERVICES/modules/addressing/axis2_mod_addr.dll shared lib loaded successfully
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\deployment\dep_engine.c(1283) axis2_dep_engine_load_module_dll: DLL path is : D:\Program Files (x86)\SAP BusinessObjects\Data Services\ext\webservice-HR_WEBSERVICES/modules/logging/axis2_mod_log.dll
[Fri Nov 06 09:39:20 2015] [debug] ..\..\util\src\class_loader.c(140) D:\Program Files (x86)\SAP BusinessObjects\Data Services\ext\webservice-HR_WEBSERVICES/modules/logging/axis2_mod_log.dll shared lib loaded successfully
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\deployment\dep_engine.c(1283) axis2_dep_engine_load_module_dll: DLL path is : D:\Program Files (x86)\SAP BusinessObjects\Data Services\ext\webservice-HR_WEBSERVICES/modules/rampart/mod_rampart.dll
[Fri Nov 06 09:39:20 2015] [debug] ..\..\util\src\class_loader.c(140) D:\Program Files (x86)\SAP BusinessObjects\Data Services\ext\webservice-HR_WEBSERVICES/modules/rampart/mod_rampart.dll shared lib loaded successfully
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_holder.c(139) Add handler AddressingInHandler to phase Transport
[Fri Nov 06 09:39:20 2015] [info] [rampart][rampart_mod] rampart_mod initialized
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(139) Service name is : __ANONYMOUS_SERVICE__
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(723) Module name is:addressing
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(2058) Trying to add this handler AddressingInHandler to system pre defined phases , but those handlers are already added to global chain which run irrespective of the service
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(723) Module name is:addressing
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(723) Module name is:addressing
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(723) Module name is:addressing
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(723) Module name is:addressing
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(2058) Trying to add this handler AddressingInHandler to system pre defined phases , but those handlers are already added to global chain which run irrespective of the service
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(723) Module name is:addressing
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(723) Module name is:addressing
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(723) Module name is:addressing
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(723) Module name is:addressing
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(2058) Trying to add this handler AddressingInHandler to system pre defined phases , but those handlers are already added to global chain which run irrespective of the service
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(723) Module name is:addressing
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(723) Module name is:addressing
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_resolver.c(723) Module name is:addressing
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\phaseresolver\phase_holder.c(139) Add handler AddressingOutHandler to phase MessageOut
[Fri Nov 06 09:39:20 2015] [error] ..\..\axiom\src\parser\libxml2\libxml2_reader_wrapper.c(305) Error occurred creating XML stream reader
[Fri Nov 06 09:39:20 2015] [error] ..\..\neethi\src\util.c(37) Out of memory
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\clientapi\op_client.c(888) Start:axis2_op_client_infer_transport
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\clientapi\op_client.c(954) End:axis2_op_client_infer_transport
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\engine\phase.c(210) Invoke the handler AddressingOutHandler within the phase MessageOut
[Fri Nov 06 09:39:20 2015] [info] Starting addressing out handler
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\modules\mod_addr\addr_out_handler.c(133) No action present. Stop processing addressing
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\transport\http\sender\http_transport_sender.c(246) ctx_epr:https://webappstest.rclfoods.com/sapdataservices/FileManager.asmx
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\transport\http\sender\http_transport_sender.c(805) using axis2 native http sender.
[Fri Nov 06 09:39:20 2015] [debug] ..\..\src\core\transport\http\sender\http_sender.c(416) msg_ctx_id:urn:uuid:a180657f-e179-4085-93f2-1d32a6fa750c
There are two error lines in the log however I have read on forums that these are normal and don't cause any problem:
[Fri Nov 06 09:39:20 2015] [error] ..\..\axiom\src\parser\libxml2\libxml2_reader_wrapper.c(305) Error occurred creating XML stream reader
[Fri Nov 06 09:39:20 2015] [error] ..\..\neethi\src\util.c(37) Out of memory
Note that one of the input parameters of the web service function is an XML string, usually this string would be about 3 MB in size, but for testing I reduced it to 918 bytes but that made no difference.
Also,I have tried different SSL certificates, root level only, root and second level, all three levels. If I comment out the SERVER_CERT parameter in the axis2.xml I get a certificate error logged in the axis2_log file and the job doesn't crash but returns the error "There is no response for the webservice <Upload>", when I enable it again I don't get any certificate errors but the job crashes at the point of the web service call and I don't get any reply data back.
Can anyone help, I have run out of ideas !!!