我正在尝试使用jax-ws为WSO2 Identity Server管理服务https://xx.xx.xx.xx:9447/services/RemoteUserStoreManagerService?wsdl生成存根。
我已经下载了wsdl,但是当我运行时:
wsimport -p org.wso2 RemoteUserStoreManagerService.xml
我收到以下错误
[ERROR] operation "updateCredential" has an invalid style
line 679 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "setUserClaimValue" has an invalid style
line 683 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "deleteUserClaimValues" has an invalid style
line 692 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "deleteUserClaimValue" has an invalid style
line 696 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "updateCredentialByAdmin" has an invalid style
line 705 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "deleteRole" has an invalid style
line 739 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "deleteUser" has an invalid style
line 748 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "updateRoleName" has an invalid style
line 762 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "updateRoleListOfUser" has an invalid style
line 766 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "addUser" has an invalid style
line 780 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "addRole" has an invalid style
line 784 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "updateUserListOfRole" has an invalid style
line 788 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "setUserClaimValues" has an invalid style
line 797 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "updateCredential" has an invalid style
line 857 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "setUserClaimValue" has an invalid style
line 878 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "deleteUserClaimValues" has an invalid style
line 887 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "deleteUserClaimValue" has an invalid style
line 908 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "updateCredentialByAdmin" has an invalid style
line 917 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "deleteRole" has an invalid style
line 1010 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "deleteUser" has an invalid style
line 1019 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "updateRoleName" has an invalid style
line 1040 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "updateRoleListOfUser" has an invalid style
line 1061 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "addUser" has an invalid style
line 1094 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "addRole" has an invalid style
line 1103 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "updateUserListOfRole" has an invalid style
line 1112 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "setUserClaimValues" has an invalid style
line 1121 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "updateCredential" has an invalid style
line 1205 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "setUserClaimValue" has an invalid style
line 1226 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "deleteUserClaimValues" has an invalid style
line 1235 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "deleteUserClaimValue" has an invalid style
line 1256 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "updateCredentialByAdmin" has an invalid style
line 1265 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "deleteRole" has an invalid style
line 1358 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "deleteUser" has an invalid style
line 1367 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "updateRoleName" has an invalid style
line 1388 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "updateRoleListOfUser" has an invalid style
line 1409 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "addUser" has an invalid style
line 1442 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "addRole" has an invalid style
line 1451 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "updateUserListOfRole" has an invalid style
line 1460 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] operation "setUserClaimValues" has an invalid style
line 1469 of file:/C:/tmp/RemoteUserStoreManagerService.xml
[ERROR] missing required property "style" of element "operation"
Failed to parse the WSDL.
这是第一个错误出现的文件第679行周围的wsdl模式(不发布整个模式,因为它相当大):
<wsdl:operation name="updateCredential">
<wsdl:input message="ns:updateCredentialRequest" wsaw:Action="urn:updateCredential"/>
<wsdl:fault message="ns:RemoteUserStoreManagerServiceUserStoreException" name="RemoteUserStoreManagerServiceUserStoreException" wsaw:Action="urn:updateCredentialRemoteUserStoreManagerServiceUserStoreException"/>
</wsdl:operation>
<wsdl:operation name="setUserClaimValue">
<wsdl:input message="ns:setUserClaimValueRequest" wsaw:Action="urn:setUserClaimValue"/>
<wsdl:fault message="ns:RemoteUserStoreManagerServiceUserStoreException" name="RemoteUserStoreManagerServiceUserStoreException" wsaw:Action="urn:setUserClaimValueRemoteUserStoreManagerServiceUserStoreException"/>
</wsdl:operation>
<wsdl:operation name="getUserClaimValuesForClaims">
<wsdl:input message="ns:getUserClaimValuesForClaimsRequest" wsaw:Action="urn:getUserClaimValuesForClaims"/>
<wsdl:output message="ns:getUserClaimValuesForClaimsResponse" wsaw:Action="urn:getUserClaimValuesForClaimsResponse"/>
<wsdl:fault message="ns:RemoteUserStoreManagerServiceUserStoreException" name="RemoteUserStoreManagerServiceUserStoreException" wsaw:Action="urn:getUserClaimValuesForClaimsRemoteUserStoreManagerServiceUserStoreException"/>
</wsdl:operation>
答案 0 :(得分:4)
尝试在所有wsdl操作中添加输出消息。有趣的是,wsimport
没有抱怨getUserClaimValuesForClaims
操作,并且该方法已定义输出消息。
编辑:您可以毫无畏惧地编辑wsdl,因为这些有问题的方法具有void返回类型,因此您可以将任何想要的内容作为返回类型放置并忽略它。换句话说,在调用Web服务时,您只对输入参数感兴趣,因为这些方法实际上不返回任何内容。因此,请执行以下操作:
client.wsdl
client.wsdl
生成一个Web服务客户端(不更改服务!)答案 1 :(得分:1)
Miljen Mikic的回答很棒,让我找到了正确的解决方案。我想我会举例说明如何做他的建议。请注意错误列表中的错误成对出现:
[ERROR] operation "updateCredential" has an invalid style
line 679 of file:/C:/tmp/RemoteUserStoreManagerService.xml
.
.
.
[ERROR] operation "updateCredential" has an invalid style
line 1205 of file:/C:/tmp/RemoteUserStoreManagerService.xml
.
.
.
OP的wsdl示例仅包含前两个错误,但解决方案类似于所有错误。结果变成:
<wsdl:operation name="updateCredential">
<wsdl:input message="ns:updateCredentialRequest" wsaw:Action="urn:updateCredential"/>
<wsdl:output message="" />
<wsdl:fault message="ns:RemoteUserStoreManagerServiceUserStoreException" name="RemoteUserStoreManagerServiceUserStoreException" wsaw:Action="urn:updateCredentialRemoteUserStoreManagerServiceUserStoreException"/>
</wsdl:operation>
<wsdl:operation name="setUserClaimValue">
<wsdl:input message="ns:setUserClaimValueRequest" wsaw:Action="urn:setUserClaimValue"/>
<wsdl:output message="" />
<wsdl:fault message="ns:RemoteUserStoreManagerServiceUserStoreException" name="RemoteUserStoreManagerServiceUserStoreException" wsaw:Action="urn:setUserClaimValueRemoteUserStoreManagerServiceUserStoreException"/>
</wsdl:operation>