我正在尝试调用WebService。我从已发布的WSDL构建了客户端jar。当我进行WebService调用时,我得到一个WebServiceException。
javax.xml.ws.WebServiceException: The Endpoint validation failed to validate due to the following errors: :: Invalid Endpoint Interface
例外情况是列出WSDL公开的方法以及客户端认为应该存在的方法。在客户端列表中,有几个空值而不是方法名称。
wsdl operations = [getEntity getBrokers addBrokerPermissions removeBrokerPermissions addAgencyPermissions updateTaxIdUserAuth updateTaxIdFacets removeAgencyPermissions addBrokerUser isValidTaxId getBrokerConfirmationId addConfirmationId getBrokerByConfirmationId confirmBrokerRegistration getBrokerConfirmations addAgencyUser getAgencies approveAgencyRegistration rejectAgencyRegistration getAgencyConfirmations ]
dispatch operations = [getBrokers addBrokerUser removeBrokerPermissions getAgencyConfirmations getBrokerConfirmations addBrokerPermissions approveAgencyRegistration isValidTaxId getBrokerByConfirmationId null addConfirmationId addAgencyUser confirmBrokerRegistration rejectAgencyRegistration addAgencyPermissions getBrokerConfirmationId null getEntity getAgencies removeAgencyPermissions ]
空值应该是updateTaxIdUserAuth或updateTaxIdFacets。我查看了我的客户端,方法就在那里,并使用@WebMethod进行注释。
我在WAS 7.0上运行。
这通常发生在客户端使用的wsdl不是最新时。 F.E.当服务器在与客户端共享wsdl之后添加一些方法时。
您可以进入WAS配置,添加以下属性:
Application servers > server1 > Process definition > Java Virtual Machine > Custom properties
jaxws.ignore.extraWSDLOps = true
这告诉WAS不要将该条件视为错误。应该解决这个问题。
骨架