当前位置: 首页 > 面试题库 >

CXF如何在没有Spring的情况下在CXF端口上设置SoapVersion

景岳
2023-03-14
问题内容

我目前正在使用不带Spring配置文件的CXF在Web Service客户端上工作。

它工作得很好,但是我不知道如何使用Java Api设置绑定的SoapVersion。使用Spring文件,可以按以下步骤完成:

<jaxws:binding>
    <soap:soapBinding version="1.2"/>
</jaxws:binding>

你们知道如何在Java代码中执行此操作(在Port上,在SOAPBinding上…)?

在此先感谢您的帮助!

编辑 - - - - - - - - - - -

我仍然遇到这个问题…我尝试按照以下响应之一建议在接口上添加SOAPBinding批注,但是它不起作用…我仍在寻找手动配置我的方法使用Soap
1.2的PortType /绑定/总线

有任何想法吗?

编辑 - - - - - - - - - - -

问题解决了!实际上,我回答了自己的问题:请参阅下文…

谢谢!


问题答案:

好吧,我再次回答自己的问题,以分享解决方案。在CXF邮件列表中的人员的帮助下,我找到了适合我的解决方案。实际上,有两种方法可以解决问题。这里是解释:

问题来自我构建CXF服务的方式。

第一种解决方案是在创建服务时指定WSDL位置:

// Create the service
Service service = Service.create(urlToWsdl, serviceQName);
// Access the port
return service.getPort(serviceQName, portTypeClass);

这解决了问题,但是我不想拥有指向WSDL的链接,因此这里是摆脱该链接的第二个解决方案:

// Create the service
Service service = Service.create(serviceQName);
// Add a Port to the service and specify the SOAP 1.2 binding
service.addPort(serviceQName, javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING, wsUrl);
// Access the port
return service.getPort(serviceQName, portTypeClass);

在我的项目中,我们决定选择第二种解决方案。

希望这可以帮助!



 类似资料:
  • 问题内容: 我正在尝试设置spring xml配置,而不必创建进一步的。但是,即使我将数据库属性包括在 spring.xml: 我在这里想念什么? 问题答案: 在entityManagerFactory bean定义中指定“ packagesToScan”和“ persistenceUnitName”属性。 请注意,这适用于Spring版本> 3.1

  • 我花了过去几个小时试图设置2默认图像的nodejs 14和rethinkdb 2.3.5,所以很抱歉,如果语气有点沮丧,但我目前感到沮丧。 我的要求似乎超级简单。 下载nodejs 14和RejectDB 2.3.5的默认图像。 将我当前目录中的所有内容复制到nodejs 14映像中 我希望nodejs图像依赖于DB图像 在nodejs 14图像中运行2个命令<代码>npm ci和 请参阅测试中的

  • 我正在尝试设置SpringXML配置,而不必创建进一步的。但是我经常遇到以下异常,即使我在 spring.xml: 我错过了什么?

  • 使用CXF(Spring中的配置)创建Web服务时,我生成的WSDL缺少端口标签中的地址位置。这对客户端来说是有问题的。如果CXF用于客户端创建,则必须在客户端代码中以编程方式设置endpoint。如果使用Axis(我的Web服务的消费者希望能够使用Axis 1),则会出现错误 我希望有以下子元素,而不是被迫使用CXF或Axis2创建客户端并在客户端代码中手动设置endpoint: 标签下方<代码

  • 我尝试在bean部分中使用环境: 但环境中只有系统属性 所以问题是如何从application.yml加载配置,以及如何以这样的函数式实现@ConfigurationProperties的模拟? 注释、和开始工作。但是注释仅存在于依赖项中,而yml解析类仅存在于中。 在包含依赖项并将添加到beans部分之后,注释开始工作,但也未包含来自application.yml的配置。所以我增加了这一节: 到

  • 我希望在Spring Security中设置ForwardedHeaderFilter,这样我就可以让Spring知道登录后使用哪个协议。我在负载均衡器后面有几个应用程序服务器(使用ssl终止),Spring Security正在使用超文本传输协议(而不是https)重定向用户。正因为如此,我的用户现在收到了一条唐突的警告消息。我在网上能找到的唯一例子是我没有实现的Spring引导。 我曾想过在我