Weblogic Web服务方法与命名空间无关

时间:2011-08-16 08:26:09

标签: web-services weblogic

我正在将在Weblogic 8.1环境中运行的EJB Webservice升级到Weblogic 10.3。根据weblogic文档,我将EJB bean类转换为普通的Java类,并向Java类添加了注释,以将其标识为Web服务。在构建了耳朵并部署到服务器之后,我可以看到我的webservice启动并运行。但是,当我触发一个请求(曾经在8.1中给我一个有效的响应)到新的10.3 webservice时,我得到'Failed to get Operation Name'错误。我的输入请求是这样的。

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://mycomputer.com:7101/WebServices/HelloService">
   <soapenv:Header/>
   <soapenv:Body>
      <MyRequest soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <string xsi:type="xsd:string">Hello</string>
      </MyRequest>
   </soapenv:Body>
</soapenv:Envelope>

如您所见,MyRequest元素不是任何名称空间声明的一部分。 8.1 webservice将其标识为属于命名空间 - http://mycomputer.com:7101/WebServices/HelloService。但是,10.3 Web服务不能识别相同的内容。当我为MyRequest元素添加“tns:”前缀时,我从10.3 webservice获得了有效的响应。所以,我的问题是

  1. 我是否必须在10.3 webservice中进行任何配置更改以按原样处理8.1请求。
  2. Weblogic 10.3是否强制每个请求元素属于命名空间。
  3. 感谢您的期待!

0 个答案:

没有答案