Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
另一个.Net使用Java WSDL的问题_Java_.net_Web Services - Fatal编程技术网

另一个.Net使用Java WSDL的问题

另一个.Net使用Java WSDL的问题,java,.net,web-services,Java,.net,Web Services,这可能已经得到了回答,我就是找不到,所以如果需要的话,请随意指出 我有一个JavaWSDL端点,可以成功地使用它生成引用。我还使用了这个端点的程序员发送的WSDL,并且再次成功地创建了要使用的类文件 但是,在这两种情况下,当我创建提供此服务所需的对象时,我收到一个错误,即他无法使用我发送的有效负载 使用SoapUI工具查看它,他的服务似乎希望在负载标记中包含更多信息,而这些信息似乎没有进入我的类 示例:我可以创建,但他需要 我不知道“init”前缀在哪里被删除 我正在使用VS2010并生成一个简

这可能已经得到了回答,我就是找不到,所以如果需要的话,请随意指出

我有一个JavaWSDL端点,可以成功地使用它生成引用。我还使用了这个端点的程序员发送的WSDL,并且再次成功地创建了要使用的类文件

但是,在这两种情况下,当我创建提供此服务所需的对象时,我收到一个错误,即他无法使用我发送的有效负载

使用SoapUI工具查看它,他的服务似乎希望在负载标记中包含更多信息,而这些信息似乎没有进入我的类

示例:我可以创建
,但他需要

我不知道“init”前缀在哪里被删除


我正在使用VS2010并生成一个简单的web参考。在这一点上,任何提示都会有所帮助。

我处理这些问题的方法如下:

使用相同的技术客户端连接到服务。 追踪电线上的信息。如果不需要,请去掉签名和加密,以便获得可读的XML消息

现在,使用不同的技术客户端(在本例中为.NET)构建客户端存根并连接到服务。追踪电线上的信息

比较两者,调整不同的技术客户端以使其匹配

我使用Fiddler2捕获HTTP消息的跟踪。如果您没有使用HTTP,那么您将需要其他东西


请记住,您想要的不是字符串相等,而是XML信息集中的相等

如果后一种情况下的默认名称空间与前一种情况下的init名称空间匹配,则类似于
的元素可能等价于
。如果您不太明白这意味着什么,那么您需要阅读xml名称空间并熟悉这些概念

在许多情况下,我发现是XML名称空间不一致的问题导致了互操作性的缺乏。在一个例子中,我发现名称空间中缺少斜杠(http://foo/bar 而不是)足以导致通信失败。为了得到与需求消息相匹配的实际消息,弄清楚应该调整什么是一门黑色艺术——我不知道如何解释它

在某些情况下,我会修改WSDL文档,让不同的技术客户机执行我想要的操作


祝你好运。

是的,我发现使用4.0 svcutil.exe是解决这些问题的最好方法。正如我在上面的评论中所说的,我发现这仅仅是一个名称空间问题,而不是.Net问题,而是另一端的Java问题

希望这将使在特定的4.0生成器中更容易看到USIN

"%PROGRAMFILES%\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\svcutil.exe" /async http://SomeExternalWeb/ExtService.svc?wsdl /ct:System.Collections.Generic.List`1 /n:*,MyNS.Messaging.Services

我喜欢任何一天的类生成而不是引用生成。

必须在消息中定义
init
,这意味着
Tag1
来自某个名称空间。是的,我同意,但我正在寻找一个问题的答案,我发现我不需要问这个问题。:-)我发现问题出在Java方面,无法处理xs:date格式。我什么都试过。但是谢谢你的提示。