我正在尝试调用 WebService。我根据已发布的 WSDL 构建了客户端 jar。当我进行 WebService 调用时,我收到 WebServiceException。
javax.xml.ws.WebServiceException: The Endpoint validation failed to validate due to the following errors: :: Invalid Endpoint Interface
异常(exception)是列出 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 不要将该情况视为错误。 应该可以解决问题。
马可
关于Java WebService 抛出 javax.xml.ws.WebServiceException 且端点接口(interface)无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9571013/