問題1
Error invoking service 'XXX Service', method 'XXXXX' at step 'Invoke WebService'.(SBL-BPR-00162)--
Fatal Error in XML Parser at line 1, column 1: Invalid document structure(SBL-EAI-00247)
答:XXXX 就是導入WSDL後生成的BS,編碼格式的原因導致報錯,所有發送和返回的Encoding應該是UTF-8
問題2
Siebel XSD does not support the use of <import> and <include> elements and the <any>attribute. To implement the <import> or <include> functionality, place the schema definition into a
single file.
問題3
XML element names must be uniquein the document in which they are defined. This can cause a parsing problem if two integration
components have fields with the same name.
問題4
Unhandled Exception: The XML document cannot be converted to an XML hierarchy.(SBL-EAI-04110)XML Hierarchy Converter error - empty input message, expecting an XML document in <Value> of input arguments(SBL-EAI-00246)
答:在用XML Converter轉換之前,數據類型應該是Binary的<但不是必須的,有時候是需要String類型的。
問題5
Invoke Webservice throw error:Cannot convert Integration Object Hierarchy to XML Hierarchy. (SBL-EAI-04108)Integration component type 'QueryXXXRequest' is not a valid child type for component type 'QueryTestHotBillRequest'(SBL-EAI-04008)
答:
Each integration component should have only valid children components, consistent with the integration object definition. There was a component type found that is not expected to be a child of another component.
Corrective Action,Check whether the data contains a valid integration component structure.
問題6
Invoke Webservice throw error:Fatal Error in XML Parser at line 5, column 5: Invalid document structure(SBL-EAI-00247)Error invoking service 'HW Outbound Interface Service', method 'GenericWSInvoke' at step 'Invoke WebService'.(SBL-BPR-00162)
--
Fatal Error in XML Parser at line 5, column 5: Invalid document structure(SBL-EAI-00247)
************************End of Error Message:*****
答:可能的情況是返回的報文爲空,檢查是否ClearCache,是否使用新的wsdl
問題7
Invoke Webservice throw error:Unknown Part ':TestResponse' for operation 'QueryBlackList' exists in SOAP message.(SBL-EAI-04304)Error invoking service 'Outbound Interface Service', method 'GenericWSInvoke' at step 'Invoke WebService'.(SBL-BPR-00162)
--
Unknown Part ':TestResponse' for operation 'WWWWWW' exists in SOAP message.(SBL-EAI-04304)
答:返回報文的頭結點“TestResult”錯誤,與IO的第一層IC->XML Tag不匹配
例如:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sub="http://www.Test.com/wsdl/esb/submitorder" xmlns:sub1="http://www.Test.com/schema/esb/submitorderresponse">
<soapenv:Header/>
<soapenv:Body>
<TestResult>
<PhoneNumber>555</PhoneNumber>
<Status>1</Status>
<Reason>555</Reason>
<StartTime>1</StartTime>
<EndTime>1</EndTime>
</TestResult>
</soapenv:Body>
</soapenv:Envelope>
問題8
Invoke Webservice throw error:HTTP Internet Exception during 'Data Send': 'The connection with the server was reset', code: '12031'(SBL-EAI-04116)
Error invoking service 'Outbound Interface Service', method 'InvokeWS' at step 'WFInvokeWS'.(SBL-BPR-00162)
--
HTTP Internet Exception during 'Data Send': 'The connection with the server was reset
', code: '12031'(SBL-EAI-04116)
這個問題:HTTP Internet Exception during 'Data Send': 'The connection with the server was reset。原因是接口發起請求時,使用了一箇舊的鏈接或者是一個已經被外部系統釋放的鏈接。因爲我們siebel的connection的HTTPMaxIdleSeconds默認參數值1200秒,TimedOut超時時間是120秒。
所以每次使用的鏈接有可能是沿用舊的,或者是重新初始化一個新連接。如果一個釋放,一個繼續使用舊的就會引發上述問題。
修改方法很多:
1.在BS:EAI HTTP Transport有個入參ConnectionSubsystem,設置爲關閉即可。如果用webs,需要加入代碼了。
2.就是把EAI HTTP Transport的入參HTTPMaxIdleSeconds與下游系統設置一致。
3.與對端系統保持一致建立連接池
方法2的代碼:
function Service_PreInvokeMethod(MethodName, Inputs, Outputs)
{
///////////////////////////////////////////////////////////////////////
// ------------ -------------- ------- ------------------
// Reason:An HTTP header "Connection" can be set to "Close" to instruct the web server at the other end to close the connection as soon as a reply is sent.
// this also helps EAI HTTP Transport to use a fresh new connection on every communication and helps avoid the connection reset error.
///////////////////////////////////////////////////////////////////////
if (MethodName == "SendReceive")
{
//The default value for HTTPMaxIdleSeconds is 1200 seconds.
//Inputs.SetProperty("HTTPMaxIdleSeconds", "0");
Inputs.SetProperty("HDR.Connection", "Close");
}
return (ContinueOperation);
}
問題9
WFInvokeWS throw error:Unknown Part 'http://www.Test.com/schema/esb/rms:RMSResponse' for operation 'QueryMSISDN' exists in SOAP message.(SBL-EAI-04304)Error invoking service 'Outbound Interface Service', method 'InvokeWS' at step 'WFInvokeWS'.(SBL-BPR-00162)
--
Unknown Part 'http://www.Test.com/schema/esb/rms:RMSResponse' for operation 'QueryMSISDN' exists in SOAP message.(SBL-EAI-04304)
返回的第一層元素名字與實際IO的RootIC名字不一致。
問題10
Error running sub-process 'Outbound Interface Process' at step '123'.(SBL-BPR-00183)--
Error instantiating process definition 'Outbound Interface Process'
with a search specification:
Process is not associated with a business object.(SBL-BPR-00110)
定義了一個入參“SearchSpec”,這個參數會導致Workflow必須對應一個BO,估計是觸發了隱藏參數,把這個入參名字修改後問題解決。
問題11
WFInvokeWS throw error:Fatal Error in XML Parser at line 8, column 63: Expected whitespace(SBL-EAI-00247)Error invoking service 'Outbound Interface Service', method 'InvokeWS' at step 'WFInvokeWS'.(SBL-BPR-00162)
訪問服地址錯誤,導致返回的完全是空。
問題12
---------------------------Siebel
---------------------------
WFInvokeWS throw error:Operation 'QueryYYYSub' of Web Service 'http://www.Test.com/schema/wsdl/esb/webservice/server/queryyyysub.QuerySYSSubInterfaceService'
at port 'QuerySYSSubInterfacePort' failed with the following explanation: "Missing operation for soapAction [Query] and
body element [Query] with SOAP Version [SOAP 1.1]".(SBL-EAI-04308)(SBL-EXL-00151)(SBL-EXL-00151)
遇到一次:典型的Web Service再通過代理BS調用接口時,請求報文結構類似(Property Set):
<?xml version="1.0" encoding="UTF-8"?>
<?Siebel-Property-Set EscapeNames="true"?>
<PropertySet>
<MessageType_clnRequestIOName MessageId="" IntObjectName="RequestIOName" MessageType="Integration Object" IntObjectFormat="Siebel Hierarchical">
<ListOfRequestIOName>
<RequestIOName>
......
</ListOfRequestIOName>
</MessageType_clnRequestIOName>
</PropertySet>
如果這個PropertySet的Root元素不是一個空的,而是MessageType_clnRequestIOName代替,也就是少了第一層結構,就會出現這樣的錯誤。
這僅僅是該問題出現的可能性之一。