gpt4 book ai didi

Java:WSDL Web服务wsimport,我需要重新运行wsimport吗?我更改了Web服务服务器中的@WebService类代码

转载 作者:行者123 更新时间:2023-12-01 14:19:44 37 4
gpt4 key购买 nike

我正在使用 Java 客户端和在 Windows Werver 2012 上运行的 Glassfish 上构建一个 Web 服务和一个 Java Web 服务。

这是我的@WebService 类:

import java.util.ArrayList;
import java.util.List;

import javax.jws.WebService;

@WebService
public class ProductCatalog {

public List<String> getProductCategories(){
List<String> categories = new ArrayList<>();
categories.add("Books");
categories.add("Music");
categories.add("Movies");

return categories;
}
}

客户端创建 stub 方法时,我使用java中的wsimport转换来生成来自WS发布的WSDL xml的所需java源文件.

我注意到,如果我将一个 cetgory 添加到列表中:

     //...code
categories.add("Books");
categories.add("Music");
categories.add("Movies");
categories.add("Pens");
//...code

我从客户端获取更新后的数组列表:书籍、音乐、电影+“笔”

  • 但是如果我向 che 类添加新方法,该方法对客户端,怎么来的?
  • 是因为我需要再次在 WSDL 文件上运行 WSIMPORT 并且重新编译客户端?
  • 如果上述情况属实,有没有办法避免 WSIMPORT每次发生更改时都会生成类/源文件服务器端/网络服务代码?

谢谢路德

最佳答案

Web 服务通常用于进程间通信,因此需要强大的契约来操作服务。 WSDL 提供了这种契约(Contract)的一种方式。因此,每次契约(Contract)发生更改时,您都需要更新 WSDL。

但是,仍然存在一个选项,即服务调用不需要 WSDL。它可以使用动态调用( https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/6/html/Development_Guide/Develop_a_JAX-WS_Client_Application.html )来实现。有优点也有缺点。根据您的用例,这可能是一个解决方案。

关于Java:WSDL Web服务wsimport,我需要重新运行wsimport吗?我更改了Web服务服务器中的@WebService类代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17719852/

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