我在尝试从SOAPUI调用服务时遇到以下异常。当我在浏览器中打开endpoint时,它会显示wsdl fine。
WARN org.apache.cxf.phase.PhaseInterceptorChain - Interceptor for {http://contract.premsisc.usst.com/}PaidClaimFacadeService has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Message part {http://contract.premsisc.uss`enter code here`t.com/}findPaidClaims was not recognized. (Does it exist in service WSDL?)
at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:194)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)
at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:97)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:461)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:188)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1655)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1595)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:104)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:932)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:500)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:864)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:455)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:384)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:272)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)
我的wsdl在was 7服务器中
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://contract.premsisc.usst.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="PaidClaimFacadeService" targetNamespace="http://contract.premsisc.usst.com/">
<wsdl:types>
<xs:schema xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://contract.premsisc.usst.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://contract.premsisc.usst.com/">
<xs:element name="findPaidClaims" type="tns:findPaidClaims"/>
<xs:element name="findPaidClaimsResponse" type="tns:findPaidClaimsResponse"/>
<xs:complexType name="findPaidClaims">
<xs:sequence>
<xs:element minOccurs="0" name="Product" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="findPaidClaimsResponse">
<xs:sequence>
<xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<xs:element name="PremDiscountService" type="tns:PremDiscountService"/>
<xs:complexType name="PremDiscountService">
<xs:sequence/>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="findPaidClaims">
<wsdl:part element="tns:findPaidClaims" name="parameters"></wsdl:part>
</wsdl:message>
<wsdl:message name="PremDiscountServiceException">
<wsdl:part element="tns:PremDiscountService" name="PremDiscountServiceException"></wsdl:part>
</wsdl:message>
<wsdl:message name="findPaidClaimsResponse">
<wsdl:part element="tns:findPaidClaimsResponse" name="parameters"></wsdl:part>
</wsdl:message>
<wsdl:portType name="PaidClaimFacade">
<wsdl:operation name="findPaidClaims">
<wsdl:input message="tns:findPaidClaims" name="findPaidClaims"></wsdl:input>
<wsdl:output message="tns:findPaidClaimsResponse" name="findPaidClaimsResponse"></wsdl:output>
<wsdl:fault message="tns:PremDiscountServiceException" name="PremDiscountServiceException"></wsdl:fault>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="PaidClaimFacadeServiceSoapBinding" type="tns:PaidClaimFacade">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="findPaidClaims">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="findPaidClaims">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="findPaidClaimsResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="PremDiscountServiceException">
<soap:fault name="PremDiscountServiceException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="PaidClaimFacadeService">
<wsdl:port binding="tns:PaidClaimFacadeServiceSoapBinding" name="PaidClaimFacadePort">
<soap:address location="http://localhost:9084/premdisc/services/PaidClaimFacadeService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
我在SOAPUI
中的Soap请求:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:con="http://contract.premsisc.usst.com/">
<soapenv:Header/>
<soapenv:Body>
<con:findPaidClaims>
<!--Optional:-->
<Product>abc</Product>
</con:findPaidClaims>
</soapenv:Body>
</soapenv:Envelope>
肥皂UI中的肥皂反应:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Message part {http://contract.premsisc.usst.com/}findPaidClaims was not recognized. (Does it exist in service WSDL?)</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
这就是我配置jaxws:endpoint的方式
<jaxws:endpoint id="paidClaimWs" implementor="#paidClaimFacadeImpl"
address="/PaidClaimFacadeService" wsdlLocation="/wsdl/PaidClaimFacade.wsdl"
serviceName="msg:PaidClaimFacadeService" endpointName="msg:PaidClaimFacadePort"
xmlns:msg="http://contract.premsisc.usst.com/">
</jaxws:endpoint>
我知道这很古老,但对于你们中一些偶然发现它的人来说:我也有同样的问题,原因是什么?我在SOAPUI中加载了“旧”WSDL,而在“新”WSDL中更改了一些内容。因此,请尝试在SOAPUI中重新加载WSDL,或者删除它并再次加载,然后检查是否出现相同的错误。希望这对别人有帮助!
这意味着您正在调用一个在您的WSDL文件中不存在的操作。
{http://contract.premsisc.usst.com/}findPaidClaims was not recognized
这是您的目标命名空间:<代码>http://contract.premsisc.usst.com/这是您的操作:findpaidsclaims
如果您检查您的WSDL,您将看到没有像这样的操作:
findpaidsclaims
。
编辑
现在问题很清楚了。WSDL文件中的命名空间错误。这是固定的WSDL,它可以工作。我不知道您是否对WSDL文件运行了一些验证,但我的IntelliJ显示了错误。所以我修复了它们:
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://contract.premdisc.hcsc.com/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="PaidClaimFacadeService"
targetNamespace="http://contract.premdisc.hcsc.com/">
<wsdl:types>
<xs:schema xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://contract.premsisc.usst.com/types"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
attributeFormDefault="unqualified"
elementFormDefault="unqualified"
targetNamespace="http://contract.premsisc.usst.com/types">
<xs:element name="findPaidClaims" type="tns:findPaidClaims"/>
<xs:element name="findPaidClaimsResponse" type="tns:findPaidClaimsResponse"/>
<xs:complexType name="findPaidClaims">
<xs:sequence>
<xs:element minOccurs="0" name="Product" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="findPaidClaimsResponse">
<xs:sequence>
<xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<xs:element name="PremDiscountService" type="tns:PremDiscountService"/>
<xs:complexType name="PremDiscountService">
<xs:sequence/>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="findPaidClaims">
<wsdl:part element="tns:findPaidClaims" name="parameters"></wsdl:part>
</wsdl:message>
<wsdl:message name="PremDiscountServiceException">
<wsdl:part element="tns:PremDiscountService" name="PremDiscountServiceException"></wsdl:part>
</wsdl:message>
<wsdl:message name="findPaidClaimsResponse">
<wsdl:part element="tns:findPaidClaimsResponse" name="parameters"></wsdl:part>
</wsdl:message>
<wsdl:portType name="PaidClaimFacade">
<wsdl:operation name="findPaidClaims">
<wsdl:input message="tns:findPaidClaims" name="findPaidClaims"></wsdl:input>
<wsdl:output message="tns:findPaidClaimsResponse" name="findPaidClaimsResponse"></wsdl:output>
<wsdl:fault message="tns:PremDiscountServiceException" name="PremDiscountServiceException"></wsdl:fault>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="PaidClaimFacadeServiceSoapBinding" type="tns:PaidClaimFacade">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="findPaidClaims">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="findPaidClaims">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="findPaidClaimsResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="PremDiscountServiceException">
<soap:fault name="PremDiscountServiceException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="PaidClaimFacadeService">
<wsdl:port binding="tns:PaidClaimFacadeServiceSoapBinding" name="PaidClaimFacadePort">
<soap:address location="http://localhost:9084/premdisc/services/PaidClaimFacadeService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
问题是您的
xmlns: tns
和Target Namespace
具有不同的命名空间。仔细查看您的WSDL。
xmlns:tns="http://contract.premdisc.hcsc.com/"
targetNamespace="http://contract.premsisc.usst.com/"
您可以看到,在您的文件中,它们是不同的,但它们必须是相同的。对于XSD,需要使用不同的名称空间。类似于:
xmlns:tns="http://contract.premsisc.usst.com/types"
正如您的文件中所示:
xmlns:tns="http://contract.premsisc.usst.com/"
targetNamespace="http://contract.premdisc.hcsc.com/"
你可以看到他们也不一样。将我修复的文件与您的文件进行比较,会发现两者的区别。尝试使用固定文件,它会工作。
现在我的问题是实际的SOAP调用并不成功。我使用SOAPUI来尝试SOAP调用,但只是为了能够查询WSDL。我得到以下错误:-
问题内容: 以下代码段用于使用Restful API调用我的Web服务。 并在运行上述代码时获取此异常 我用谷歌搜索了很多文章,却没有弄错我做错了什么。 旁注: 在Apache tomacat7中的机器上部署了war 问题答案: 绝对URI指定方案;并非绝对的URI被认为是相对的。 http://docs.oracle.com/javase/8/docs/api/java/net/URI.html
我试图测试一个if条件,使用时(),然后返回(),但是当我运行我的测试用例时,它会给我丢失的方法调用,即使我已经嘲笑了实现该方法的类。 这就是我想嘲笑的如果条件 这就是我检查if条件的方式 我已经用@Mock annotation模拟了“request”,但仍然得到下面的异常。 我不确定我做错了什么。有人能帮忙吗?
我有一个调用bean的apache servicemix(camel 2.9)路由,它反过来会发出SOAP请求。SOAP代码是通过wsdl2java生成的,工作正常(cxf 2.4.0)。我遇到的问题是当抛出SOAP错误时,我会遇到以下问题: 从一点谷歌搜索(我的背景是C#)错误似乎是说类已被多次加载,但我看不出这是怎么可能的,因为SOAPFaultException不是我的类之一。 有什么想法吗
我有一个spark jar,我正试图将其提交给我的本地spark实例。jar是这样的包:按照maven结构,所有配置文件都存在于/resources文件夹中。 以下是例外情况: 在上述异常中,可以观察到的一件事是<代码> 在jar末尾标记:
每当我试图将子对象持久化到JPA中现有的父对象时,就会出现以下错误: 原因:javax。验证。ConstraintViolationException:在组[javax.Validation.groups.Default]的持续时间内,类[store.entidades.Sucursal]的验证失败,约束冲突列表:[ConstraintViolationImpl]{interpolatedMess