要求是SOAP WSDL Url和endpointUrl必须彼此不同。下面是我使用Apache Camel和Apache CXF的蓝图,但当我在端口8043请求时,那里没有wsdl,当我将其更改为9143时,那里有wsdl。
需要在url上公开wsdl:http://0.0.0.0:8043/Services/Interface/FSServices/FSServices.serviceagent?wsdl
endpointURL be:http://0.0.0.0:9143/Services/Interface/FSServices/FSServices.serviceagent/PortTypeEndpoint1/
<cxf:cxfEndpoint
address="http://0.0.0.0:8043/Services/Interface/FSServices/FSServices.serviceagent"
id="fsEndpoint" serviceClass="pk.com.herman.fs.operation.PortType">
<cxf:properties>
<entry key="publishedEndpointUrl" value="http://0.0.0.0:9143/Services/Interface/FSServices/FSServices.serviceagent/PortTypeEndpoint1/"/>
</cxf:properties>
</cxf:cxfEndpoint>
奇怪的要求。您可以通过添加禁用WSDLGetInterceptor拦截器的拦截器来做到这一点。
添加拦截器
<bean id="removeWSDLinterceptor"
class="my.package.RemoveWSDLInterceptor" />
<cxf:cxfEndpoint address="http://0.0.0.0:8043/Services/Interface/FSServices/FSServices.serviceagent"
id="fsEndpoint" serviceClass="pk.com.herman.fs.operation.PortType">
<cxf:inInterceptors>
<ref bean="removeWSDLinterceptor" />
</cxf:inInterceptors>
</cxf:cxfEndpoint>
拦截器
public class RemoveWSDLInterceptor extends AbstractPhaseInterceptor<Message>
{
public RemoveWSDLInterceptor() {
super(Phase.RECEIVE);
}
public void handleMessage(Message message) {
WSDLGetInterceptor getWSDLInterceptor = null;
InterceptorChain chain = message.getInterceptorChain();
for(Iterator<Interceptor<? extends Message>> iter = chain.iterator(); iter.hasNext();) {
Interceptor getWSDLInterceptor = iter.next();
if (interceptor instanceof WSDLGetInterceptor) {
getWSDLInterceptor = (WSDLGetInterceptor) interceptor;
}
}
chain.remove(getWSDLInterceptor);
}
public void handleFault(Message messageParam) {
}
}
然后,您可以添加一个小的jetty路由来静态返回WSDL。
<route>
<from uri="jetty://http://0.0.0.0:9143" />
<to uri="language:constant:resource:file:/path/to/your/wsdlfile.wsdl"/>
</route>
我有数据库名称:PMKIT,前缀Table:PMKIT.TableName。我想重命名PMKIT。TableName到DBO.TableName。你能帮助我吗!
问题内容: 我在本地计算机上使用。在我们的网络服务器上,我们有。我们的服务器是共享服务器。所以我想通过文件更改我们服务器上的php版本。有可能做到吗?如果是,该怎么办? 问题答案: 要切换到PHP 4.4: 要切换到PHP 5.0: 要切换到PHP 5.1: 要切换到PHP 5.2: 要切换到PHP 5.3,请执行以下操作: 要切换到PHP 5.4: 要切换到PHP 5.5: 要切换到PHP 5.
我的应用程序部署和服务运行在AWS EKS集群中。通过添加此注释服务,该服务将公开为NLB类型的负载平衡器。贝塔。库伯内特斯。io/aws负载平衡器类型:nlb,但当我试图通过将注释更改为service将其切换为ALB时。贝塔。库伯内特斯。io/aws负载平衡器类型:alb它创建了一个经典的负载平衡器,这意味着不考虑此注释,所以有没有办法在alb上公开服务?
我们在生产Websphere liberty概要文件中使用mobilefirst 6.3。 mobilefirst中是否有方法更改默认日志文件,而不使用一些自定义java函数来记录?我们希望将适配器中的日志与服务器日志分开。
问题内容: 我正在构建一个快速的Web搜寻器,并且需要具有多线程DNS解析,因此我选择了一个名为dnsjava的多线程DNS服务提供商。不幸的是,我不知道如何替换默认的DNS服务提供商。 我查看了dnsjava 的README文件,但说明不是很完整。 替换标准的Java DNS功能: 从Java 1.4开始,可以在运行时加载服务提供者。要加载dnsjava服务提供者,请按照上述说明进行构建并设置系
我从基于apache-camel-spark的rest接口获得一个json数组作为输入。开始时,我想通过apache camels路线分割json-array来处理每个元素。我该怎么做? 我的测试输入json: 对于这个问题,我在stackoverflow上找到了一些间接描述的问题: link 1, link 2, link 3。 根据这些示例,我尝试了以下骆驼路线: 当我这样做时,我总是得到以下