Está en la página 1de 4

Troubleshooting and verification: Dedicated client

If you are using a dedicated client to perform the outbound web service call, please: 1. Right click the icon used to call the dedicated client and select properties. 2. In the properties window, target section Identify the .CFG file used. e.g: C:\Siebel\8.1\Client_1\bin\ENU\uagent.cfg 3. Edit the CFG in notepad and add to the bottom of the file : [EAISubsys] EnableServiceArgTracing = TRUE 4. Save and close the CFG file. 5. Close the dedicated client. 6. Right click My Computer and select properties. Then advanced tab and environment variables. Add the variables:
Environment variable name SIEBEL_LOG_EVENTS SIEBEL_LOG_DIR Value 5 C:\TEMP (or any valid directory)

7. Restart the dedicated client and make the call to the outbound web service. 8. Review the %SIEBEL_LOG_DIR%\OutboundDispatcher_output_args_0.dmp This file contains the SOAP Request sent by Siebel and can be opened in any text editor. 9. Review the %SIEBEL_LOG_DIR%\siebel.log file for errors

Thin Client
If you are using a thin client to perform the outbound web service call, please: 1. At the siebel server machine, please open an MS-DOS command prompt (or a unix shell if applicable). 2. Navigate to the siebelserver root directory. 3. Cd siebsrvr 4. Cd bin 5. Call the server manger command line and notice the parameters : (Type srvrmgr and hit ENTER) 6. Call it again with the correct parameters.The command will look similar to this : srvrmgr /g <siebel_server_hostname> /e <SiebelEnterpriseName> /s <SiebelServer_name> u sadmin -p sadmin 7. Once logged in, turn up log for the specific Object Manager you use : change evtloglvl %=5 for comp <Component alias> change param enableserviceargtracing=true for comp <Component alias> 8. Review the siebsrvr\bin\OutboundDispatcher_output_args_0.dmp file. This file contains the SOAP Request sent by Siebel and can be opened in any text editor. Notice it is generated at the BIN directory. 9. Review the component log, generated under siebsrvr/log (windows) or siebsrvr/enterprises/<enterprise_name>/log (unix) for errors. Note: <Component alias> stands for the alias of the component actually running the call to the proxy business service. It can be an user interface object manager, like SCCObjMgr_enu for call center. Or it can also be a workflow component, like WFProcMgr.

It all depends on how you designed your solution and where the actual call to the proxy business service will run. Using Siebel Service Argument Tracing To Capture the SOAP Message and for Troubleshooting Within the Siebel Web Services framework, there are existing and new component events that you can enable that help you troubleshoot problems and capture the Simple Object Access Protocal (SOAP) messages exchanged. For a list of web services specific component events, see Integration Platform Technologies: Siebel EAI (Vol 2) > Web Services > Enabling Web Services Tracing. By enabling the WebSvcOutboundArgTrc (Web Service Outbound Argument Tracing) and WebSvcInboundArgTrc (Web Service Inbound Argument Tracing) events, you can capture the inbound and outbound SOAP messages generated. Testing with a Dedicated Siebel Client You can enable the events by modifying your client .cfg file and starting your Siebel client with logging enabled. For the dedicated client, add the following entries to your client's .cfg file: [EAISubsys] EnableServiceArgTracing = TRUE Then start your Siebel Client or Siebel Tools client with the environment variables SIEBEL_LOG_EVENTS=ALL and SIEBEL_LOG_DIR=<directory of your choice> set. Testing with a Siebel Thin Client and for Siebel Server That Your Web Service Provided You need to enable the events on the client's object manager such as the SCCObjMgr_enu for Call Center and the EAIObjmgr for the web service provider. In srvrmgr, the commands are: change param enableserviceargtracing=true for comp eaiobjmgr_enu change evtloglvl %=5 for comp eaiobjmgr_enu NOTE: You may choose to enable additional component events, such as the EAI Siebel Adapter or EAISiebAdpt. By using the % wildcard, you can enable all commands that start with WebSvc. Logs Generated On the web service consumer application, you should these file created by the WebService dispatcher when you run your application invoking the web service: OutboundDispatcher_input_args_<pid>.dmp OutboundDispatcher_output_args_<pid>.dmp The outut_args log shows your SOAP request and the input_args log shows the SOAP response. The SOAP response may be a SOAP fault message or empty file if your SOAP request was not valid. On the server, if your request is successfully received and processed, you will see these two additional logs: InboundDispatcher_input_args_<pid>.dmp InboundDispatcher_output_args_<pid>.dmp The input_args log shows the inbound SOAP request received and the output_args log shows the SOAP response sent out. The SOAP response may be a SOAP fault message if your inbound request was not valid. Sample SOAP Messages This is a sample SOAP request for the SiebelContact ASI: <?xml version="1.0" encoding="UTF-8" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" SOAPENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

<SOAP-ENV:Body> <rpc:SiebelContactInsert xmlns:rpc="http://siebel.com/asi/"> <SiebelMessage xmlns:ns="http://www.siebel.com/xml/Contact Interface" xsi:type="ns:ListOfContactInterfaceTopElmt"> <ListOfContactInterface xmlns:ns="http://www.siebel.com/xml/Contact Interface" xmlns:ns0="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:type="ns:ListOfContactInterface"> <Contact xsi:type="ns:Contact"> <BirthDate xsi:type="ns0:string">01/01/1950 00:00:00</BirthDate> <EmailAddress xsi:type="ns0:string">support@siebel.com</EmailAddress> <FirstName xsi:type="ns0:string">Siebel</FirstName> <LastName xsi:type="ns0:string">Support</LastName> <MiddleName xsi:type="ns0:string">Technical</MiddleName> <WorkPhone xsi:type="ns0:string">8002140400</WorkPhone> </Contact> </ListOfContactInterface> </SiebelMessage> <StatusObject xsi:type="xsd:string">true</StatusObject> </rpc:SiebelContactInsert> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

This is a sample SOAP response: <?xml version="1.0" encoding="UTF-8" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" SOAPENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <rpc:SiebelContactInsertResponse xmlns:rpc="http://siebel.com/asi/"> <SiebelMessage xmlns:ns="http://www.siebel.com/xml/Contact Interface" xsi:type="ns:ListOfContactInterfaceTopElmt"> <ListOfContactInterface xmlns:ns="http://www.siebel.com/xml/Contact Interface" xmlns:ns0="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:type="ns:ListOfContactInterface"> <Contact xsi:type="ns:Contact" operation="insert"> <Id xsi:type="ns0:string">42-4NZB7</Id> <IntegrationId xsi:type="ns0:string" /> </Contact> </ListOfContactInterface> </SiebelMessage> </rpc:SiebelContactInsertResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> This is a SOAP response with an error: <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" SOAPENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode>

<faultstring>Service Method arguments property set has no children, should have one child of type 'SiebelMessage'(SBL-EAI-04022)</faultstring> <detail> <siebelf:errorstack xmlns:siebelf="http://www.siebel.com/ws/fault"><siebelf:error> <siebelf:errorsymbol></siebelf:errorsymbol><siebelf:errormsg>Service Method arguments property set has no children, should have one child of type 'SiebelMessage'(SBL-EAI04022)</siebelf:errormsg></siebelf:error></siebelf:errorstack> </detail> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope> In the above case, the error message is returned from the the Siebel Contact ASI business service on the web services provider because the input data was incomplete. The corresponding inbound SOAP message from the above example shows that incomplete input arguments were provided. There is only a value for the StatusObject argument and no Contact data. <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" SOAPENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <rpc:SiebelContactInsert xmlns:rpc="http://siebel.com/asi/"> <StatusObject xsi:type="xsd:string">true</StatusObject> </rpc:SiebelContactInsert> </SOAP-ENV:Body> </SOAP-ENV:Envelope> The reason the message was incomplete is because the input arguments supplied to the web service proxy business service were wrong. So as a result the proxy business service did not know how to generate the expected input arguments for the web service.

También podría gustarte