消息部分x无法识别。它是否存在于服务WSDL中?区分大小写?

时间:2014-12-10 18:11:14

标签: java web-services jaxb cxf apache-camel

我正在使用camel-cxf库来尝试创建一个非常基本的Web服务客户端。

我得到的错误是:

Message part {http://tariffservice.agw.mycompany.com/}getTariffPrice 
was not recognized.  (Does it exist in service WSDL?):       

WSDL是由.NET人员创建的,因为如果我以Java方式生成WSDL,他们的方面就无法工作。因此,如果我查看WSDL,我会看到该方法的正确名称是:GetTariffPrice。事实上,在任何注释中都没有小写的getTariffPrice。它只是方法名称的小写。

所以我感觉到了这个问题,但我不知道在哪里修复它。每次编译时,CXF都会自动生成文件。是否有绑定文件?

----编辑:回复Willem的q

我使用了camel-master cxf示例,无论出于何种原因,它都在代码中。 WSDL到处都有GetTariffPrice,这让我觉得如果我能让CXF生成GetTariffPrice而不是getTariffPrice,它可能会起作用

private static final String URL = "http://localhost:8080/tariffAdmin/services/tariffEndpoint";

protected static ITariffService createCXFClient() {
    // we use CXF to create a client for us as its easier than JAXWS and works
    ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
    factory.setServiceClass(ITariffService.class);
    factory.setAddress(URL);
    return (ITariffService) factory.create();
}

    ITariffService service = createCXFClient();
    TariffPriceResponse response = service.getTariffPrice(request);

----进一步编辑:

我告诉Maven不要构建我的类,然后在生成的客户端类中将方法名称从getTariffPrice更改为GetTariffPrice。我现在收到这条消息:

Unexpected wrapper element {http://tariffservice.agw.company.com/}GetTariffPrice found.   Expected {http://agw.company.com/tariffservice}GetTariffPrice.  

嗯。

0 个答案:

没有答案