2

预先信息: 我正在学习使用网络方法(WM)的编排。我已经成功地完成了关于评估、调用 Web 方法和一些 BPEL 中的并行处理的课程。我正在使用带有 BPEL 插件的 Eclipse Indigo 3.7.1、带有 Apache Ode 作为编排基础的 Tomcat7 服务器。另一方面,我需要学习调用在 Mono .Net 平台上编写的安全 WM。

现在拥有: 现在我在调用任何网络方法时遇到问题。我做了: 1) 由 Mono .Net 运行的 Web 方法 - 可以使用浏览器 (http://localhost:8081/hwws.asmx) 和 Eclipse 工具“Web Services Explorer”进行测试,它工作正常。2) 我的 BPEL 仅通过 SOAP 端口调用此 .Net Web 方法。3) 在其他工作台上,我使用 Visual Studio 制作了 .Net 服务。也有错误,如果需要我稍后会发布它的文本。

问题:我在调用时遇到错误。

屏幕: 1) .net WS HW(helloWorld) http://photo-hosting.winsoftmagic .com/ 1/ s4nbwdsqib.jpg 的浏览器测试 2) .net WS HW http://photo-hosting.winsoftmagic 的 Eclipse 测试。 com/1/zywnl2wtgu.jpg 3) 错误我得到http://photo-hosting.winsoftmagic.com/1/ltbexoxcdl.jpg

错误列表:

18:15:25,294 WARN ExternalService 故障响应:faultType=(unkown) soap:ClientCould not deserialize Soap 消息 18:15:25,376 ERROR INVOKE 调用期间失败:18:15:25,382 INFO BpelRuntimeContextImpl ActivityRecovery:注册活动 11,失败原因:on 21频道

稍后会出现超时错误。我已经花了一周的时间来解决这个问题,用我能想到的所有方法进行搜索。

编辑 12.03.2012:

现在由于某种原因使用单声道 WS 进行测试。 我尝试从互联网上调用 WS,它给出了与我在工作地点相同的错误:

14:25:16,177 错误 [INVOKE] 调用失败:发送消息时出错 (mex={PartnerRoleMex#hqejbhcnphr747jefui9ic [PID {http://wsaspx.tns/}inetWS-24] 调用 org.apache.ode.bpel.epr。 WSAEndpoint@1e3a4c7.checkText(...) Status ASYNC}):传入消息的输入流为空。14:25:16,178 INFO [BpelRuntimeContextImpl] ActivityRecovery:注册活动 11,失败原因:发送消息时出错 (mex={PartnerRoleMex#hqejbhcnphr747jefui9ic [PID {http://wsaspx.tns/}inetWS-24] 调用 org.apache.ode .bpel.epr.WSAEndpoint@1e3a4c7.checkText(...) Status ASYNC}):传入消息的输入流为空。在 21 频道

同时,这项服务适用于所有测试表格。

编辑:16.03.2012

我的单声道方法在我不理解的情况下停止了工作。TcpMon-1.1.jar 再次显示这样的消息:

POST /hwws.asmx HTTP/1.1
Content-Type: text/xml; charset=UTF-8
SOAPAction: "http://hwws.tps/HelloWorld"
User-Agent: Axis2
Host: localhost:8092
Transfer-Encoding: chunked <--- EDITED: REASON OF NOT WORKING ----

31c
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<addr:To xmlns:addr="http://www.w3.org/2005/08/addressing">http://localhost:8092/hwws.asmx</addr:To>
<addr:Action xmlns:addr="http://www.w3.org/2005/08/addressing">http://hwws.tps/HelloWorld</addr:Action>
<addr:ReplyTo xmlns:addr="http://www.w3.org/2005/08/addressing"><addr:Address>http://www.w3.org/2005/08/addressing/anonymous</addr:Address></addr:ReplyTo>
<addr:MessageID xmlns:addr="http://www.w3.org/2005/08/addressing">uuid:hqejbhcnphr74k7fapcntd</addr:MessageID>
</soapenv:Header>
<soapenv:Body><HelloWorld xmlns="http://hwws.tps/">
<s0:st xmlns:s0="http://hwws.tps/">My test message</s0:st>
</HelloWorld></soapenv:Body></soapenv:Envelope>
0

HTTP/1.0 500 Internal Server Error
Date: Fri, 16 Mar 2012 08:01:50 GMT
Server: Mono.WebServer2/0.4.0.0 Unix
Connection: close
X-AspNet-Version: 4.0.30319
Content-Length: 366
Cache-Control: private
Content-Type: text/xml; charset=utf-8

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body><soap:Fault><faultcode>soap:Client</faultcode>
<faultstring>Could not deserialize Soap message</faultstring>
</soap:Fault></soap:Body></soap:Envelope>

实际上,我得到了 3 个错误之一:无法反序列化,传入消息的输入流是 null 甚至是昨天的错误 411 :) Ps 有第 4 个错误,也没有套接字连接,但它们都消失了

我的主要目标是 ssl+authorisation .net 服务 - 如果您有示例,将不胜感激。非常感谢大家!很高兴看到你的帮助:)

4

2 回答 2

0

多亏了大家,测试soap-body表明它很好,问题出在标题部分,它在xml之前有一些奇怪的“分块”和数字(xml文本的长度)和xml结束后的0。我刚刚设置了 http.request.chunk=false现在它在我所有的测试中都可以使用。为此,从http://ode.apache.org/endpoint-configuration.html下载sample.endpoint,将其重命名为 bpel 名称 (MonoCaller.bpel => MonoCaller.endpoint)。它具有已注释的分块字符串。并且还添加了类似 http.default-headers.authorization=Basic <64b code of "login:password" made in any coder> 用于授权目的,它现在也可以使用!:-]

于 2012-03-17T09:02:37.380 回答
0

The same error has occured with me, the problem was with the web service itself, I had an empty constructor plus the methodes wich causes a problem, the solution is to delete the constructor.

于 2015-04-11T17:57:41.477 回答