首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Sonic ESB调用WCF服务时出现错误404

从Sonic ESB调用WCF服务时出现错误404
EN

Stack Overflow用户
提问于 2016-12-31 00:34:03
回答 0查看 112关注 0票数 1

我们有一个工作正常的WCF服务,有4个客户使用这项服务没有问题,但我有一个客户抱怨说,他不能再呼叫网络服务在过去几天。

自去年10月以来,我们没有改变任何事情,他也声称他没有改变任何事情。

正如我所说的,我有其他客户正在使用这个服务,我们也可以从SOAP UI调用该服务。我们甚至尝试在AWS中创建一个新的隔离计算机,并调用该服务,以确保它不是防火墙问题之类的问题,阻止了我们网络外部的通信。

从他发给我的堆栈跟踪中我可以看到,这个客户使用Sonic ESB来调用我们的服务。我真的不明白Sonic ESB是如何工作的,但我猜这个错误是由Sonic ESB引起的,而不是我的服务。它就像在他的应用程序和我的服务之间创建了一个“适配器”。

这让我得出了以下结论:

1)查看他的请求XML (他发给我的),我可以看到它与我提供的WSDL不匹配,例如:

(出于显而易见的原因,我更改了几个名称和值)

代码语言:javascript
复制
<CreateOrderGatewayCompanyName> --> This would be just CreateOrderGateway
  <header>  --> this header seems specific to Sonic ESB, nothing to do with us
     <user>123414714</user>
     <idProcess>5411251</idProcess>
     <channel>EB</channel>
     <ip>[ip number here]</ip>
     <sessionId>1fd5a3f4d8f4dsa5f4dsaf4dsf1da5.xyz</sessionId>
  </header>
  <body>
    <idCampania>xyz</idCampania> --> This would be "CampaignId"
    ...
    <order>
       ...
       <fecha>2016-12-21</fecha> --> This would be "Date"
       ...
    </order>
  </body>
</CreateOrderGatewayCompanyName>

因此,我只能得出结论,在这个过程中的某个地方,ESB将把这个奇怪的XML转换成我的服务所期望的正确的SOAP请求格式。

2)查看他发给我的异常堆栈跟踪,我可以看到这个404错误:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<exception xmlns="http://www.sonicsw.com/sonicesb/exception">
 <message>Exception while retrieving soap envelope from response: 
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd"&gt;
&lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE&gt;Not Found&lt;/TITLE&gt;
&lt;META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"&gt;&lt;/HEAD&gt;
&lt;BODY&gt;&lt;h2&gt;Not Found&lt;/h2&gt;
&lt;hr&gt;&lt;p&gt;HTTP Error 404. The requested resource is not found.&lt;/p&gt;
&lt;/BODY&gt;&lt;/HTML&gt;
</message>
 <class>com.sonicsw.xqimpl.invkimpl.wsif.providers.axissoap.SoapProviderInvocationException</class>
 <detail/>
 <stackTrace><![CDATA[org.xml.sax.SAXParseException: White spaces are required between publicId and systemId.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
...

问题是,他作为响应得到的404 HTML代码不是来自我的服务器,因为我们使用的是IIS 8.5,IIS的404错误页面看起来不像这个页面,HTML是不同的,消息也是不同的。它应该是这样的:

“404-找不到文件或目录。您正在查找的资源可能已被删除,已更改其名称,..“

那么,有没有人知道这个Sonic ESB实际上是否在应用程序中间创建了一个适配器或代理?如果有人已经经历过这样的错误,会是什么原因呢?我100%肯定我的服务运行良好。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41399519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档