如何在非 Java 客户端上解释引用名称空间 java: 的 WSDL?
我正在尝试集成在 Apache Axis 上运行的 SOAP Web 服务。 WSDL 使用 URI 指定命名空间,如下所示:
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:stns="java:dk.tdc.serviceproviderweb.datatypes"
elementFormDefault="qualified"
attributeFormDefault="qualified"
targetNamespace="java:dk.tdc.serviceproviderweb.datatypes">
在客户端,我使用 PHP,因此命名空间 xmlns:stns
没有意义。 我有一些 Java 类文件(及其源),它们似乎与这个命名空间相对应。 我该如何以有意义的方式处理这个问题?
I'm trying to integrate against a SOAP web service, running on Apache Axis. The WSDL specifies a namespace with a URI, that looks like:
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:stns="java:dk.tdc.serviceproviderweb.datatypes"
elementFormDefault="qualified"
attributeFormDefault="qualified"
targetNamespace="java:dk.tdc.serviceproviderweb.datatypes">
On the client-side, I'm using PHP, so the namespace xmlns:stns
is meaningless. I have some Java class files (and their sources), that seems to correspond to this namespace. How do I handle this in a meaningful way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好的。 看来我对我的客户端库有一个错误感到困惑,这使得它在 wsdl 上窒息。 我从 NuSOAP 切换到 php5 的本机肥皂库,现在一切正常了。
OK. It seems that I got confused by the fact that my client library had a bug, which made it choke on the wsdl. I switched from NuSOAP to php5's native soap library, and things works now.
您的代码片段是定义“java:dk.tdc.serviceproviderweb.datatypes”命名空间的内容的 XML 模式的开头。 (targetNamespace 属性表明了这一点)。
所以无论你是在客户端使用 java 还是 PHP 来处理这个问题都没有关系,
只要该模式的其余部分有效。
Your snippet is the beginning of an XML schema that defines the contents of the "java:dk.tdc.serviceproviderweb.datatypes" namespace. (The targetNamespace attribute indicates this).
So it shouldn't matter if you're handling this with java or PHP on the client side,
as long as the rest of this schema is valid.