1

所以我有一个定义如下消息部分的wsdl

<wsdl:message name="processEnvelopeResponse">
    <wsdl:part name="processEnvelopeReturn" type="xsd:base64Binary"/>
</wsdl:message>

这映射到一个 xsd,然后导入其他 xsd 等等。

我有以下问题:

  1. 如何从 xsd 生成消息部分对象

忽略这个,我已经找到答案了,只要把xsd导入wsdl文件就可以了。稍后会更好地解释

  1. 如何以允许我直接填充消息对象并将其通过网络传递的方式生成客户端对象
  2. 我如何调用 web 服务,将生成的对象转换为 base64Binary(这个假设上述是不可能的)
4

1 回答 1

1

因此,回答我自己的问题,我能够生成工件以从 xsd 列表中调用 Web 服务,但在调用 Web 服务时我无法使用它们。

所以我最终不得不手动生成 XML,幸运的是我这是一个小调用。

String input="XML";
byte[] s = port.processEnvelope(input.getBytes());

由于响应也来自 xsd:base64Binary,因此我必须将传入的字符串映射到 xml 对象中才能处理响应。

String xmloutput = new String(s,"UTF-8");

然后我把 xmloutput 通过 jdom 我得到了我的数据。

总而言之,实现网络服务的愚蠢方式。

于 2009-07-24T09:53:15.033 回答