Generating stubs with jax-ws fails
jax-ws, wso2
Solution
Try adding output message in all wsdl operations. It is interesting to notice that `wsimport` doesn't complain on `getUserClaimValuesForClaims` operation, and that method has output message defined.
EDIT: You can edit wsdl without fear because these problematic methods have void return type so you can put whatever you want as a return type and simply ignore it. In other words, when calling Web service you are only interested in the input parameters since these methods actually don't return anything. Therefore, do the following:
- Make a copy of wsdl, for example name it `client.wsdl`
- Add output message to all operations which don't have it
- Generate a Web service client from `client.wsdl` (don't change the service!)
- Call Web service methods and ignore the return type for these "problematic" ones
Problem
I am trying to generate a stub using jax-ws for the WSO2 Identity Server admin service https://xx.xx.xx.xx:9447/services/RemoteUserStoreManagerService?wsdl. I've downloaded the wsdl but when I run: ``` wsimport -p org.wso2 RemoteUserStoreManagerService.xml ``` I get the following errors ``` [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. ``` Here's the wsdl schema around line 679 of the file where the first error appears (not posting the whole schema, because it's rather large): ``` <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> ```