从WSDL生成Java文件 - 测试WSDL与生产WSDL对比

3
我正在与当地的配送服务进行集成,他们给了我WSDL文件的URL链接。其中一个链接指向测试环境,另一个链接指向生产环境。 我想知道是否需要从两个环境中都生成Java文件,或者说,在将应用程序部署到生产环境时,是否真的需要从生产环境的WSDL文件中生成文件?难道没有任何方法只是改变测试和生产环境之间的终端点吗?
此外,我注意到使用Eclipse和wsimport生成的文件不同,例如使用Eclipse时,它不会生成ObjectFactory类。

两个WSDL之间有什么区别吗?理想情况下,请求和响应应该相同,并且应该为任何WSDL生成相同的类集合。 - Zaki Anwar Hamdani
它们是相同的,唯一的区别在于Web服务端点,其中一个调用其测试环境,另一个调用生产环境。 - Igor
好的..你的依賴只需為請求和響應類,並且這些類可以從任何wsdl生成。因此,在配置中提供URL是最理想的方式。使用此功能建立和測試您的應用程序。在生產環境中只需更改端點URL即可。 - Zaki Anwar Hamdani
1个回答

1
如果唯一的区别是终端节点,那么您可以使用为两个服务生成的相同构件。
例如:
import java.net.URL;

public class Main {
    public static void main(String[] args) throws Exception{
        URL qaWsdl = new URL("http://tsteportal.posta.si/Services/eSpremnica.Wcf/eOddaja.svc");
        URL prodWsdl = new URL("https://eportal.posta.si/Services/eSpremnica.Wcf/eOddaja.svc");

        boolean isQA = Boolean.valueOf(args[0]);

        //Pass whichever WSDL endpoint you need
        EchoService service = new EchoService((isQA) ? qaWsdl : prodWsdl);

        Echo port = service.getEchoPort();
    }
}

最终我就是这么做的。 - Igor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接