预信息: 我正在学习使用Web方法编排(WM)。我成功地完成了各种课程,调用了Web方法,在BPEL中进行了一些并行处理。我正在使用带有BPEL插件的Eclipse Indigo 3.7.1,带有Apache Ode的Tomcat7服务器作为编排基础。另一方面,我需要学习调用在Mono .Net平台上编写的安全WM。
现在: 现在我在调用任何Web方法时遇到问题。我做了: 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.com/1/zywnl2wtgu.jpg的Eclipse测试 3)错误我得到http://photo-hosting.winsoftmagic.com/1/ltbexoxcdl.jpg
错误列表:
18:15:25,294 WARN ExternalService故障响应:faultType =(unkown) soap:Client不能反序列化Soap消息 18:15:25,376 ERROR INVOKE调用失败: 18:15:25,382 INFO BpelRuntimeContextImpl ActivityRecovery:注册活动11,失败原因:在21频道
以后会发出超时错误。我已经花了一周时间解决这些问题,并用我能想到的各种方式进行搜索。
14:25:16,177 ERROR [INVOKE]调用失败:发送消息错误(mex = {PartnerRoleMex #hqejbhcnphr747jefui9ic [PID {http://wsaspx.tns/} inetWS-24],调用org.apache.ode.bpel.epr。 WSAEndpoint@1e3a4c7.checkText(...)状态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(...)状态ASYNC}):传入消息的输入流为空。在第21频道
同时,此服务适用于所有测试表单。
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
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
实际上我得到3个错误之一:无法反序列化,传入消息的输入流为空甚至是昨天的错误411 :) P.s。没有套接字连接的第四个错误,但它们都消失了。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>
我的主要目标是ssl +授权.net服务 - 如果您有示例,将会感激不尽。 非常感谢大家!很高兴看到你的帮助:)
答案 0 :(得分:0)
感谢所有,测试soap-body显示它很好并且问题在标题部分有一些奇怪的“Chunked”和xml之前的数字(长度为xml文本)和xml结束后的0。我只是设置http.request.chunk = false ,现在它可用于我的所有测试。为此,从http://ode.apache.org/endpoint-configuration.html下载 sample.endpoint ,将其重命名为bpel名称(MonoCaller.bpel =&gt; MonoCaller.endpoint)。它有已经评论过的chunked字符串。并且还添加了类似http.default-headers.authorization = Basic&lt; 64b代码的“login:password”在任何编码器中生成的&gt;为了授权目的,它现在也有效! : - ]
答案 1 :(得分:0)
同样的错误发生在我身上,问题出在web服务本身,我有一个空的构造函数加上导致问题的方法,解决方案是 删除构造函数强>