gpt4 book ai didi

java - 如何编写 WSDL?

转载 作者:行者123 更新时间:2023-11-30 03:03:05 26 4
gpt4 key购买 nike

我使用 Eclipse IDE 创建了一个动态 Web 项目,下面给出了公开的 Web 服务方法,即 CallPaySecure()。

我想知道如何创建一个接受 SOAP 头的 SOAP 服务,如下所示。

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<RequestorCredentials xmlns="https://paysecure/merchant.soap.header/">
<Version>string</Version>
<UserCredentials>
<UserID>string</UserID>
<Password>string</Password>
</UserCredentials>
</RequestorCredentials>
</soap:Header>
<soap:Body>
<CallPaySecure xmlns="https://paysecure/merchant.soap/">
<strCommand>string</strCommand>
<strXML>string</strXML>
</CallPaySecure>
</soap:Body>
</soap:Envelope>

我用java编写了以下代码

@WebMethod

@WebResult(name="CallPaySecureResult")

public String CallPaySecure(
@WebParam(name="strCommand")String strCmd,
@WebParam(name="strXML") String strXML ){
}

但是这段代码只能从以下标签中获取值。

<strCommand>string</strCommand>      
<strXML>string</strXML>

1.我的 WSDL 是由 Glassfish 服务器 v4 自动生成的,我如何修改 WSDL 或者我应该使用什么 java 代码来接受上述 XML SOAP 请求?

2.如何定义<soap:Header>在 WSDL 中,以便我可以访问 <Version> 中的值, <UserID><Password>在我的网络服务 CallPaySecure() 中?

我是第一次使用 SOAP。

感谢您的建议。

最佳答案

使用 IDE 从 WSDL 生成 Java 客户端。在生成的 Java 类文件中编写您的实现逻辑。

这里的 Fox 示例是如何从 eclipse 生成 Java 客户端

1) 从文件 -> 新建 ->动态 Web 项目创建动态 Web 项目

2) 单击项目并打开上下文菜单新建 -> 其他,然后从窗口中选择Web 服务客户端

enter image description here

3) 单击浏览并选择 WSDL 地址或本地 WSDL 文件 enter image description here

4) 单击“完成”。所有必需的 java 文件将在动态 Web 项目中生成

如果你想在没有任何IDE的情况下生成Java客户端 HERE是使用 wsimport

的教程

关于java - 如何编写 WSDL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35433595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com