Web services 如何在axis wsdd文件中向命名空间声明添加前缀?

Web services 如何在axis wsdd文件中向命名空间声明添加前缀?,web-services,web-applications,namespaces,axis,xml-namespaces,Web Services,Web Applications,Namespaces,Axis,Xml Namespaces,基于Axis1.4的Web服务。 客户端发送以下请求: <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001

基于Axis1.4的Web服务。 客户端发送以下请求:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
 xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
 xmlns:ns1="http://org.mysite.services/service/np">
<SOAP-ENV:Body>
<ABC:createAction>
  <ABC:resourceID>MyResource</ABC:resourceID>
</ABC:createAction>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

我的资源
错误:

<soapenv:Fault>
 <faultcode>soapenv:Server.userException</faultcode>
 <faultstring>org.xml.sax.SAXParseException: The prefix ”ABC” for element 
 “ABC:createAction” is not bound.
</faultstring>

soapenv:Server.userException
org.xml.sax.SAXParseException:元素的前缀“ABC”
“ABC:createAction”未绑定。
server-config.wsdd具有以下配置:

 <service name="MyService" provider="java:RPC" style="wrapped" use="literal">
 <namespace>http://webservices.mysite.org</namespace>

http://webservices.mysite.org
更新:


在这个上下文中,正确的客户端请求应该是什么样子的?

听起来像是客户端的问题,客户端应该指定ABC作为其名称空间前缀。您是否正在尝试修复客户端或修改服务器以使客户端正常工作?谢谢您的重播,Ireeder!你的客户变了。目前,我正试图通过修复server-config.wsdd来修复服务端,但仍然不知道如何做到这一点。这两个建议(修复客户端或修复服务器)都是非常受欢迎的,因为目前我被卡住了。先谢谢你。为了避免严重攻击服务器端,您需要修复客户端。如果发送的是未指定的名称空间前缀,则服务器端的XML验证或解析都不会接受该请求。即使您成功地将的服务器端前缀设置为“ABC”,客户端也需要在其端为前缀“ABC”定义名称空间。客户端soap存根是否也使用Axis生成?感谢您的重播。客户端从C++生成,例如:WSDL2H-V-N-ABC-Q ABC-O SOAP.HMyServCE.WSDL。非常感谢您的帮助。对于服务器端的严重黑客攻击,需要做些什么?我看到了以下计划:1)检查是否需要向server-config.wsdd添加名称空间前缀2)使用tcpdump跟踪soap消息,还有什么?