我试图消耗我使用JAX-WS Java中建立一个Web服务时具有德尔福2007年的问题。 Web服务可以从另一个Java程序,并从C#/ ASP.NET 2.0的网站上消费的罚款。然而,当我尝试使用WSDL进口商在2007年德尔福(17-DEC-2007补丁)访问相同的服务,JAX-WS Web服务不承认任何我通过它和空值它们的参数。

我检查了多数民众赞成由德尔福过去了,相比它的其他SOAP消息,他们是几乎相同的(一些微不足道的命名空间DECS的例外和一大堆视图状态的从.NET一个!)

我也一直在网络上(最有用的一环是医生鲍勃的 http://www.bobswart.nl/Weblog/Blog.aspx?RootId=5:798 ),但没有喜悦。

有没有人遇到过这之前?

TIA。


在佐贺继续!

buggering关于与HTTPRIO对象,试图得到它的工作我最终还是放弃了,并试图通过HTTP直XML转让后。失败。

行,所以我建立在C#的简单测试仪和试过了。工作没有问题。

使用招,看看有什么正在发送向后和向前它似乎是唯一的区别是在命名空间。我改变了XML命名空间中发送Delphi和...它的作品!

这是由WSDLImporter生成的原始XML的示例:

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
        <version xmlns="http://path.to.service.com/">
            <input>test</input>
        </version>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

和这里是实际工作:

<?xml version="1.0"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
        <ns2:version xmlns:ns2="http://path.to.service.com/">
            <input>test</input>
        </ns2:version>
    </S:Body>
</S:Envelope>

所以,现在我知道了,我去有关更改名称空间值的WSDLImporter代码?我看不出在HTTPRIO特性任何明显。

TIA

有帮助吗?

解决方案

HA的HA IT LIVES !!!

基本上我不得不取出推荐

InvRegistry.RegisterInvokeOptions(TypeInfo(ActivityService), ioDocument);

和强制它使用二段。 5编码。根据需要和参数传递给Java Web服务生成的命名空间。

右,需要啤酒,大量的啤酒:)

其他提示

您应该只是注释此行您的WSDL:

//InvRegistry.RegisterInvokeOptions(TypeInfo(WebService), ioDocument);

这就够了......享受。

不是你的问题的解决方案,但我已经用同样的环境下最近一直陷入困境。 我不得不改变的选项很多次,直到找到消费web服务的正确方法(在C#writen)。

检查:

- THTTPRIO.Converter.Options
- THTTPRIO.HTTPWebNode
- THTTPRIO.HTTPWebNode.InvokeOptions

我撞我的头靠墙两天,直到我发现这个职位...和Cesars提示检查THTTPRIO.Converter.Options ...我几乎尝试了一切,最后一个是soXXXXHdr设置为true - >然后发生了一些奇怪的事情,没有更多的空服务器:o ...

我不知道为什么这样的设置使价值经历,它只是做(至少对我来说)。

将是巨大的,如果有人究竟是谁明白发生了什么可以解释这一点。

这Converter.Options卸下soSendMultiRefObj帮助

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top