问题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代替,也就是少了第一层结构,就会出现这样的错误。
这仅仅是该问题出现的可能性之一。