我有一个web应用程序,它需要调用web服务来处理一些东西。像往常一样,我向客户端请求客户端代码,这样我就可以根据客户端代码进行编码。
但是,给定的客户端代码是jar文件格式。因此,我真的改变了它。我可以把它叫醒。
现在我遇到了一些问题。给出的客户端代码不是最新的,这意味着,我使用的客户端代码实际上与真正的web服务不匹配。
这是我的wsdl的一部分,我使用它通过SOAP UI触发web服务:
<attributeSet>
<!--Zero or more repetitions:-->
<attributes>
<value>mmm</value>
<attributeID>DP</attributeID>
</attributes>
</attributeSet>当我使用SOAP UI根据给定的wsdl触发web服务时,它会抛出如下错误:
AttributeSet::validateFieldType (Field 'Password Format' (Field ID 30), data type 'STRING' (Type ID 1), Field value '0', Attribute set Credentials)因此,我联系了web服务人员,并告诉他们我想要最新的客户端代码。但是,由于他们网站的一些技术问题,他们无法向我们提供最新的客户端代码。他们只是要求我自己更改wsdl,如下所示:
<attributeSet>
<!--Zero or more repetitions:-->
<attributes>
<value xsi:type="xsd:string">m</value>
<attributeID>DP</attributeID>
</attributes>
</attributeSet>它在SOAP UI调用上工作。
但是,现在我想用java编写代码,我只需要使用给定的客户端代码来设置值:
ca1.setAttributeID("DP");
ca1.setValue("m");当应用程序调用web服务时,我可以在java代码中编写什么代码来使其具有xsi:type="xsd:string"?
发布于 2018-08-09 13:07:00
如果有WSDL,就可以生成Java代码。这种生成代码的方法称为自上而下的web服务开发。
如果您正在使用Maven,请查看此question on java code from wsdl
如果您正在使用Eclipse,您还可以通过选择一个新的web服务客户端作为项目类型,从WSDL创建一个新的web服务客户端,请参见下面的屏幕截图:

然后将WSDL添加到下一个对话框,并按照下面的步骤操作到end.See屏幕截图:

Netbeans和其他IDE还允许您从WSDL生成java类。Maven很好,因为它可以在所有IDE中工作。
https://stackoverflow.com/questions/51758034
复制相似问题