[ACCEPTED]-exception when trying to call webservice-cxf

Accepted answer
Score: 20

This means that you are calling an operation 19 which does not exits in your WSDL file.

{http://contract.premsisc.usst.com/}findPaidClaims was not recognized

This 18 is your target name space: http://contract.premsisc.usst.com/ And this is 17 your operation: findPaidClaims

If you'll check your WSDL you 16 will see that there is no such operation 15 like: findPaidClaims.

EDIT

Now the problem is clear. Your namespaces 14 in WSDL file are wrong. This is fixed WSDL 13 and it will work. I don't know if you run 12 some validation of your WSDL file, but my 11 IntelliJ show the errors. So I fixed them:

<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>

The 10 problem was that you had different namespace 9 as your xmlns:tns and targetNamespace. Look closely at your WSDL.

xmlns:tns="http://contract.premdisc.hcsc.com/"
targetNamespace="http://contract.premsisc.usst.com/"

You 8 see that in your file they are different, but 7 they must be the same. And for your XSD 6 you need to use different namespace. Something 5 like:

xmlns:tns="http://contract.premsisc.usst.com/types"

As it was in your file:

xmlns:tns="http://contract.premsisc.usst.com/"
targetNamespace="http://contract.premdisc.hcsc.com/"

Ass you can 4 see they are also different. Compare the 3 file I fixed and your file and will see 2 the difference. Try it with fixed file and 1 it will work.

Score: 5

I know this is quite old, but for some of 8 you that stumble upon it: I've had the same 7 problem, the cause? I had "old" WSDL loaded 6 in my SOAPUI, while I changed some things 5 in my "new" WSDL. Hence the problems, try 4 reloading the WSDL in SOAPUI or deleting 3 it and loading once again, then checking 2 if you get the same error. Hope this helps 1 someone!

More Related questions