Java 指定targetNamespace?

Java 指定targetNamespace?,java,web-services,Java,Web Services,我正在编写WSDL文件。在WSDL文件中,我可以指定targetNamespace的任何URL吗?还是应该有效? 我的项目有两个wsdl。在这两个wsdl中,我给出了相同的targetNamespace。会有什么问题吗targetNamespace在项目中的WSDL之间是否应该是唯一的 targetNamespace="http://wsdl.mycompany.com/service 谢谢 是的,您可以将任何URL(实际上是任何URI)指定为有效的目标命名空间,因为在该位置几乎找不到任何内容

我正在编写WSDL文件。在WSDL文件中,我可以指定targetNamespace的任何URL吗?还是应该有效? 我的项目有两个wsdl。在这两个wsdl中,我给出了相同的targetNamespace。会有什么问题吗
targetNamespace在项目中的WSDL之间是否应该是唯一的

targetNamespace="http://wsdl.mycompany.com/service

谢谢

是的,您可以将任何URL(实际上是任何URI)指定为有效的目标命名空间,因为在该位置几乎找不到任何内容。与某种java包一样,您可以将名称空间视为一个位置(“上下文”),其中您对元素、类型和属性的定义将是整数(例如,您的名称空间中只有一个元素“Person”,除非元素不同)

还可以让尽可能多的wsdl/XMLs/xsd共享您想要的相同名称空间。
注意,在这种情况下,您定义的任何内容都将添加到该名称空间中,并且必须是该名称空间中的整数,因为否则,任何想要从WSDLs中生成存根的人都将收到错误,如“元素xy不明确”

另一方面,您常常希望在自己的名称空间中包含Web服务的某些方面。 因此,您可能需要一个名称空间,您的所有技术请求类型(如“SendBillToBackofficeRequest”)都将属于该名称空间,而您的任何业务对象(如“Bill”、“Account”、“Customer”等)都有一个名称空间


我建议阅读一些关于完全理解名称空间的内容(这其实很容易,但大多数瑞典人并不完全理解它)

是,您可以将任何URL指定为目标命名空间。它必须是有效的URL或URI(不需要部署在某个地方)。尽管将URL指定为名称空间是一种很好的做法。这有助于使它们独特并避免冲突。
命名空间与java包非常相似,它们有助于避免元素名称冲突。您应该在两个WSDL的

中使用不同的名称空间,实际上它必须是有效的URI,这才是有效的URL。这就像在所说的(有效)URI下没有任何东西可以托管一样。