Problem Creating JAXWS Client

View: New views
9 Messages — Rating Filter:   Alert me  

Problem Creating JAXWS Client

by sshah :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello:

I am trying to create a client to consume a service that I built using
CXF. However, I am running into the exception below where it can't find
the Port. I have attached my wsdl.

I have tried two different ways to build the client. One is based on the
code that I saw from wsdl2java and the other using jaxwsfactor.y.

If I leave out the wsdl location, I get serialization errors.

Thanks for your help
Suneet

                     Service service =
Service.create(QName.valueOf(connector.getServiceUrl()));
                     ConnectorService port = service.getPort(new
QName("http://localhost:8080/idm-connector-ws",
"ExampleConnectorServicePort"), ConnectorService.class);

                                                                         
                 
                                AddRequestType addReqType = new
AddRequestType();
                                PSOIdentifierType idType = new
PSOIdentifierType(lg.getId().getLogin(),null, "target");
                                addReqType.setPsoID(idType);
                                addReqType.setRequestID("R4589");
                               
addReqType.setTargetID(lg.getId().getManagedSysId());
                                 
                                ExtensibleUser extUser = new
ExtensibleUser();
                                extUser.setName(user.getFirstName() + "
" + user.getLastName());
                                extUser.getAttributes().add(new
ExtensibleAttribute("cn",user.getFirstName() + " " + user.getLastName()));

                                addReqType.getData().getAny().add(extUser);
                                port.add(addReqType);

alternative JAXWS Code:

                                JaxWsProxyFactoryBean factory = new
JaxWsProxyFactoryBean();
                                factory.getInInterceptors().add(new
LoggingInInterceptor());
                                factory.getOutInterceptors().add(new
LoggingOutInterceptor());
                                 
                               
factory.setServiceClass(ConnectorService.class);
                                 
                                log.info("Service endpoint : " +
connector.getServiceUrl() );
                                 
                               
factory.setAddress(connector.getServiceUrl());
                       
                                 
factory.setWsdlURL("http://localhost:8080/idm-connector-ws/ExampleConnectorService?wsdl");
                                 ConnectorService port =
(ConnectorService) factory.create();  




Exception:

WARNING: Application has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Port
{http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort not
found.
        at
org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:148)
        at
org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:83)
        at
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:114)
        at
org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:55)
        at
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker
.java:68)

Caused by:

Caused by: javax.xml.ws.WebServiceException: Port
{http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort not
found.
        at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:311)
        at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:302)
        at javax.xml.ws.Service.getPort(Service.java:92)
        at
org.openiam.provision.service.ProvisionServiceImpl.addUser(ProvisionServiceImpl.java:224)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)


<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions name="ExampleConnectorService" targetNamespace="http://www.openiam.org/service/connector" xmlns:ns1="http://cxf.apache.org/bindings/xformat" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.openiam.org/service/connector" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <wsdl:types>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.openiam.org/service/connector" xmlns:tns="http://www.openiam.org/service/connector" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="addRequest" type="tns:AddRequestType" />
<xs:element name="addResponse" type="tns:AddResponseType" />
<xs:element name="deleteRequest" type="tns:DeleteRequestType" />
<xs:element name="deleteResponse" type="tns:ResponseType" />
<xs:element name="expirePasswordRequest" type="tns:ExpirePasswordRequestType" />
<xs:element name="expirePasswordResponse" type="tns:ResponseType" />
<xs:element name="extensibleUser" type="tns:ExtensibleUser" />
<xs:element name="listTargetsRequest" type="tns:ListTargetsRequestType" />
<xs:element name="listTargetsResponse" type="tns:ListTargetsResponseType" />
<xs:element name="lookupRequest" type="tns:LookupRequestType" />
<xs:element name="lookupResponse" type="tns:LookupResponseType" />
<xs:element name="modifyRequest" type="tns:ModifyRequestType" />
<xs:element name="modifyResponse" type="tns:ModifyResponseType" />
<xs:element name="resetPasswordRequest" type="tns:ResetPasswordRequestType" />
<xs:element name="resetPasswordResponse" type="tns:ResetPasswordResponseType" />
<xs:element name="select" type="tns:SelectionType" />
<xs:element name="setPasswordRequest" type="tns:SetPasswordRequestType" />
<xs:element name="setPasswordResponse" type="tns:ResponseType" />
<xs:element name="validatePasswordRequest" type="tns:ValidatePasswordRequestType" />
<xs:element name="validatePasswordResponse" type="tns:ValidatePasswordResponseType" />
<xs:complexType name="ExtensibleType">
<xs:sequence>
<xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax" />
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:complexType>
<xs:complexType name="SelectionType">
<xs:complexContent>
<xs:extension base="tns:QueryClauseType">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="namespacePrefixMap" nillable="true" type="tns:NamespacePrefixMappingType" />
</xs:sequence>
<xs:attribute name="path" type="xs:string" use="required" />
<xs:attribute name="namespaceURI" type="xs:string" use="required" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="QueryClauseType">
<xs:complexContent>
<xs:extension base="tns:ExtensibleType">
<xs:sequence />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="NamespacePrefixMappingType">
<xs:complexContent>
<xs:extension base="tns:ExtensibleType">
<xs:sequence />
<xs:attribute name="prefix" type="xs:string" use="required" />
<xs:attribute name="namespace" type="xs:string" use="required" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="AddRequestType">
<xs:complexContent>
<xs:extension base="tns:RequestType">
<xs:sequence>
<xs:element minOccurs="0" name="psoID" type="tns:PSOIdentifierType" />
<xs:element minOccurs="0" name="containerID" type="tns:PSOIdentifierType" />
<xs:element name="data" type="tns:ExtensibleType" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData" nillable="true" type="tns:CapabilityDataType" />
</xs:sequence>
<xs:attribute name="targetID" type="xs:string" />
<xs:attribute name="returnData" type="tns:ReturnDataType" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="RequestType">
<xs:complexContent>
<xs:extension base="tns:ExtensibleType">
<xs:sequence />
<xs:attribute name="requestID" type="xs:ID" />
<xs:attribute name="executionMode" type="tns:ExecutionModeType" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="PSOIdentifierType">
<xs:complexContent>
<xs:extension base="tns:IdentifierType">
<xs:sequence>
<xs:element minOccurs="0" name="containerID" type="tns:PSOIdentifierType" />
</xs:sequence>
<xs:attribute name="targetID" type="xs:string" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="IdentifierType">
<xs:complexContent>
<xs:extension base="tns:ExtensibleType">
<xs:sequence />
<xs:attribute name="ID" type="xs:string" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="CapabilityDataType">
<xs:complexContent>
<xs:extension base="tns:ExtensibleType">
<xs:sequence />
<xs:attribute name="mustUnderstand" type="xs:boolean" />
<xs:attribute name="capabilityURI" type="xs:anyURI" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="LookupRequestType">
<xs:complexContent>
<xs:extension base="tns:RequestType">
<xs:sequence>
<xs:element name="psoID" type="tns:PSOIdentifierType" />
</xs:sequence>
<xs:attribute name="returnData" type="tns:ReturnDataType" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ListTargetsRequestType">
<xs:complexContent>
<xs:extension base="tns:RequestType">
<xs:sequence />
<xs:attribute name="profile" type="xs:anyURI" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="DeleteRequestType">
<xs:complexContent>
<xs:extension base="tns:RequestType">
<xs:sequence>
<xs:element name="psoID" type="tns:PSOIdentifierType" />
</xs:sequence>
<xs:attribute name="recursive" type="xs:boolean" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ModifyRequestType">
<xs:complexContent>
<xs:extension base="tns:RequestType">
<xs:sequence>
<xs:element name="psoID" type="tns:PSOIdentifierType" />
<xs:element maxOccurs="unbounded" name="modification" type="tns:ModificationType" />
</xs:sequence>
<xs:attribute name="returnData" type="tns:ReturnDataType" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ModificationType">
<xs:complexContent>
<xs:extension base="tns:ExtensibleType">
<xs:sequence>
<xs:element minOccurs="0" name="component" type="tns:SelectionType" />
<xs:element minOccurs="0" name="data" type="tns:ExtensibleType" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData" nillable="true" type="tns:CapabilityDataType" />
</xs:sequence>
<xs:attribute name="modificationMode" type="tns:ModificationModeType" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="CapabilityType">
<xs:complexContent>
<xs:extension base="tns:ExtensibleType">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="appliesTo" nillable="true" type="tns:SchemaEntityRefType" />
</xs:sequence>
<xs:attribute name="namespaceURI" type="xs:anyURI" />
<xs:attribute name="location" type="xs:anyURI" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="SchemaEntityRefType">
<xs:complexContent>
<xs:extension base="tns:ExtensibleType">
<xs:sequence />
<xs:attribute name="targetID" type="xs:string" />
<xs:attribute name="entityName" type="xs:string" />
<xs:attribute name="isContainer" type="xs:boolean" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ModifyResponseType">
<xs:complexContent>
<xs:extension base="tns:ResponseType">
<xs:sequence>
<xs:element minOccurs="0" name="pso" type="tns:PSOType" />
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ResponseType">
<xs:complexContent>
<xs:extension base="tns:ExtensibleType">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="errorMessage" nillable="true" type="xs:string" />
</xs:sequence>
<xs:attribute name="status" type="tns:StatusCodeType" use="required" />
<xs:attribute name="requestID" type="xs:ID" />
<xs:attribute name="error" type="tns:ErrorCode" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="PSOType">
<xs:complexContent>
<xs:extension base="tns:ExtensibleType">
<xs:sequence>
<xs:element name="psoID" type="tns:PSOIdentifierType" />
<xs:element minOccurs="0" name="data" type="tns:ExtensibleType" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="capabilityData" nillable="true" type="tns:CapabilityDataType" />
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="AddResponseType">
<xs:complexContent>
<xs:extension base="tns:ResponseType">
<xs:sequence>
<xs:element minOccurs="0" name="pso" type="tns:PSOType" />
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ListTargetsResponseType">
<xs:complexContent>
<xs:extension base="tns:ResponseType">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="target" nillable="true" type="tns:TargetType" />
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="TargetType">
<xs:complexContent>
<xs:extension base="tns:ExtensibleType">
<xs:sequence>
<xs:element maxOccurs="unbounded" name="schema" type="tns:SchemaType" />
<xs:element minOccurs="0" name="capabilities" type="tns:CapabilitiesListType" />
</xs:sequence>
<xs:attribute name="targetID" type="xs:string" />
<xs:attribute name="profile" type="xs:anyURI" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="SchemaType">
<xs:complexContent>
<xs:extension base="tns:ExtensibleType">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="supportedSchemaEntity" nillable="true" type="tns:SchemaEntityRefType" />
</xs:sequence>
<xs:attribute name="ref" type="xs:anyURI" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="CapabilitiesListType">
<xs:complexContent>
<xs:extension base="tns:ExtensibleType">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="capability" nillable="true" type="tns:CapabilityType" />
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="LookupResponseType">
<xs:complexContent>
<xs:extension base="tns:ResponseType">
<xs:sequence>
<xs:element minOccurs="0" name="pso" type="tns:PSOType" />
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ExtensibleUser">
<xs:complexContent>
<xs:extension base="tns:ExtensibleObject">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="address" nillable="true" type="tns:ExtensibleObject" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="phone" nillable="true" type="tns:ExtensibleObject" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="email" nillable="true" type="tns:ExtensibleObject" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="group" nillable="true" type="tns:ExtensibleGroup" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="role" nillable="true" type="tns:ExtensibleRole" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ExtensibleObject">
<xs:sequence>
<xs:element minOccurs="0" name="objectId" type="xs:string" />
<xs:element minOccurs="0" name="name" type="xs:string" />
<xs:element name="operation" type="xs:int" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="attributes" nillable="true" type="tns:ExtensibleAttribute" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ExtensibleAttribute">
<xs:sequence>
<xs:element minOccurs="0" name="name" type="xs:string" />
<xs:element minOccurs="0" name="value" type="xs:string" />
<xs:element name="operation" type="xs:int" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ExtensibleGroup">
<xs:complexContent>
<xs:extension base="tns:ExtensibleObject">
<xs:sequence />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ExtensibleRole">
<xs:complexContent>
<xs:extension base="tns:ExtensibleObject">
<xs:sequence />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ExpirePasswordRequestType">
<xs:complexContent>
<xs:extension base="tns:RequestType">
<xs:sequence>
<xs:element name="psoID" type="tns:PSOIdentifierType" />
</xs:sequence>
<xs:attribute name="remainingLogins" type="xs:int" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ValidatePasswordRequestType">
<xs:complexContent>
<xs:extension base="tns:RequestType">
<xs:sequence>
<xs:element name="psoID" type="tns:PSOIdentifierType" />
<xs:element name="password" type="xs:string" />
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ValidatePasswordResponseType">
<xs:complexContent>
<xs:extension base="tns:ResponseType">
<xs:sequence />
<xs:attribute name="valid" type="xs:boolean" />
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="SetPasswordRequestType">
<xs:complexContent>
<xs:extension base="tns:RequestType">
<xs:sequence>
<xs:element name="psoID" type="tns:PSOIdentifierType" />
<xs:element name="password" type="xs:string" />
<xs:element minOccurs="0" name="currentPassword" type="xs:string" />
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ResetPasswordRequestType">
<xs:complexContent>
<xs:extension base="tns:RequestType">
<xs:sequence>
<xs:element name="psoID" type="tns:PSOIdentifierType" />
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="ResetPasswordResponseType">
<xs:complexContent>
<xs:extension base="tns:ResponseType">
<xs:sequence>
<xs:element minOccurs="0" name="password" type="xs:string" />
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="skip" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="ReturnDataType">
<xs:restriction base="xs:string">
<xs:enumeration value="identifier" />
<xs:enumeration value="data" />
<xs:enumeration value="everything" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ExecutionModeType">
<xs:restriction base="xs:string">
<xs:enumeration value="synchronous" />
<xs:enumeration value="asynchronous" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ModificationModeType">
<xs:restriction base="xs:string">
<xs:enumeration value="add" />
<xs:enumeration value="replace" />
<xs:enumeration value="delete" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="StatusCodeType">
<xs:restriction base="xs:string">
<xs:enumeration value="success" />
<xs:enumeration value="failure" />
<xs:enumeration value="pending" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ErrorCode">
<xs:restriction base="xs:string">
<xs:enumeration value="malformedRequest" />
<xs:enumeration value="unsupportedOperation" />
<xs:enumeration value="unsupportedIdentifierType" />
<xs:enumeration value="noSuchIdentifier" />
<xs:enumeration value="customError" />
<xs:enumeration value="unsupportedExecutionMode" />
<xs:enumeration value="invalidContainment" />
<xs:enumeration value="noSuchRequest" />
<xs:enumeration value="unsupportedSelectionType" />
<xs:enumeration value="resultSetToLarge" />
<xs:enumeration value="unsupportedProfile" />
<xs:enumeration value="invalidIdentifier" />
<xs:enumeration value="alreadyExists" />
<xs:enumeration value="containerNotEmpty" />
</xs:restriction>
</xs:simpleType>
<xs:element name="add" type="tns:add" />
<xs:complexType name="add">
<xs:sequence>
<xs:element minOccurs="0" name="reqType" type="tns:AddRequestType" />
</xs:sequence>
</xs:complexType>
<xs:element name="testConnection" type="tns:testConnection" />
<xs:complexType name="testConnection">
<xs:sequence>
<xs:element minOccurs="0" name="targetID" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="testConnectionResponse" type="tns:testConnectionResponse" />
<xs:complexType name="testConnectionResponse">
<xs:sequence>
<xs:element name="return" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
<xs:element name="expirePassword" type="tns:expirePassword" />
<xs:complexType name="expirePassword">
<xs:sequence>
<xs:element minOccurs="0" name="request" type="tns:ExpirePasswordRequestType" />
</xs:sequence>
</xs:complexType>
<xs:element name="lookup" type="tns:lookup" />
<xs:complexType name="lookup">
<xs:sequence>
<xs:element minOccurs="0" name="reqType" type="tns:LookupRequestType" />
</xs:sequence>
</xs:complexType>
<xs:element name="delete" type="tns:delete" />
<xs:complexType name="delete">
<xs:sequence>
<xs:element minOccurs="0" name="reqType" type="tns:DeleteRequestType" />
</xs:sequence>
</xs:complexType>
<xs:element name="validatePassword" type="tns:validatePassword" />
<xs:complexType name="validatePassword">
<xs:sequence>
<xs:element minOccurs="0" name="request" type="tns:ValidatePasswordRequestType" />
</xs:sequence>
</xs:complexType>
<xs:element name="modify" type="tns:modify" />
<xs:complexType name="modify">
<xs:sequence>
<xs:element minOccurs="0" name="reqType" type="tns:ModifyRequestType" />
</xs:sequence>
</xs:complexType>
<xs:element name="setPassword" type="tns:setPassword" />
<xs:complexType name="setPassword">
<xs:sequence>
<xs:element minOccurs="0" name="request" type="tns:SetPasswordRequestType" />
</xs:sequence>
</xs:complexType>
<xs:element name="resetPassword" type="tns:resetPassword" />
<xs:complexType name="resetPassword">
<xs:sequence>
<xs:element minOccurs="0" name="request" type="tns:ResetPasswordRequestType" />
</xs:sequence>
</xs:complexType>
</xs:schema>
  </wsdl:types>
  <wsdl:message name="resetPasswordResponse">
    <wsdl:part element="tns:resetPasswordResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="modifyResponse">
    <wsdl:part element="tns:modifyResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="delete">
    <wsdl:part element="tns:delete" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="setPassword">
    <wsdl:part element="tns:setPassword" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="deleteResponse">
    <wsdl:part element="tns:deleteResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="setPasswordResponse">
    <wsdl:part element="tns:setPasswordResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="validatePasswordResponse">
    <wsdl:part element="tns:validatePasswordResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="lookupResponse">
    <wsdl:part element="tns:lookupResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="testConnection">
    <wsdl:part element="tns:testConnection" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="modify">
    <wsdl:part element="tns:modify" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="testConnectionResponse">
    <wsdl:part element="tns:testConnectionResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="add">
    <wsdl:part element="tns:add" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="expirePasswordResponse">
    <wsdl:part element="tns:expirePasswordResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="lookup">
    <wsdl:part element="tns:lookup" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="addResponse">
    <wsdl:part element="tns:addResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="expirePassword">
    <wsdl:part element="tns:expirePassword" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="validatePassword">
    <wsdl:part element="tns:validatePassword" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="resetPassword">
    <wsdl:part element="tns:resetPassword" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="ConnectorService">
    <wsdl:operation name="add">
      <wsdl:input message="tns:add" name="add">
    </wsdl:input>
      <wsdl:output message="tns:addResponse" name="addResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="testConnection">
      <wsdl:input message="tns:testConnection" name="testConnection">
    </wsdl:input>
      <wsdl:output message="tns:testConnectionResponse" name="testConnectionResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="expirePassword">
      <wsdl:input message="tns:expirePassword" name="expirePassword">
    </wsdl:input>
      <wsdl:output message="tns:expirePasswordResponse" name="expirePasswordResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="lookup">
      <wsdl:input message="tns:lookup" name="lookup">
    </wsdl:input>
      <wsdl:output message="tns:lookupResponse" name="lookupResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="delete">
      <wsdl:input message="tns:delete" name="delete">
    </wsdl:input>
      <wsdl:output message="tns:deleteResponse" name="deleteResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="validatePassword">
      <wsdl:input message="tns:validatePassword" name="validatePassword">
    </wsdl:input>
      <wsdl:output message="tns:validatePasswordResponse" name="validatePasswordResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="modify">
      <wsdl:input message="tns:modify" name="modify">
    </wsdl:input>
      <wsdl:output message="tns:modifyResponse" name="modifyResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="setPassword">
      <wsdl:input message="tns:setPassword" name="setPassword">
    </wsdl:input>
      <wsdl:output message="tns:setPasswordResponse" name="setPasswordResponse">
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="resetPassword">
      <wsdl:input message="tns:resetPassword" name="resetPassword">
    </wsdl:input>
      <wsdl:output message="tns:resetPasswordResponse" name="resetPasswordResponse">
    </wsdl:output>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="ExampleConnectorServiceSoapBinding" type="tns:ConnectorService">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="add">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="add">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="addResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="testConnection">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="testConnection">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="testConnectionResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="expirePassword">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="expirePassword">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="expirePasswordResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="lookup">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="lookup">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="lookupResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="delete">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="delete">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="deleteResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="validatePassword">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="validatePassword">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="validatePasswordResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="modify">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="modify">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="modifyResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="setPassword">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="setPassword">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="setPasswordResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="resetPassword">
      <soap:operation soapAction="" style="document" />
      <wsdl:input name="resetPassword">
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output name="resetPasswordResponse">
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="ExampleConnectorService">
    <wsdl:port binding="tns:ExampleConnectorServiceSoapBinding" name="ExampleConnectorServicePort">
      <soap:address location="http://localhost:8080/idm-connector-ws/ExampleConnectorService" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

Problem Creating JAXWS Client

by sshah :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello:

>
> I am trying to create a client to consume a service that I built using
> CXF. However, I am running into the exception below where it can't
> find the Port. I have attached my wsdl.
>
> I have tried two different ways to build the client. One is based on
> the code that I saw from wsdl2java and the other using jaxwsfactor.y.
>
> If I leave out the wsdl location, I get serialization errors.
>
> Thanks for your help
> Suneet
>
>                     Service service =
> Service.create(QName.valueOf(connector.getServiceUrl()));
>                     ConnectorService port = service.getPort(new
> QName("http://localhost:8080/idm-connector-ws",
> "ExampleConnectorServicePort"), ConnectorService.class);
>
>                                                                        
>                                                 AddRequestType
> addReqType = new AddRequestType();
>                                PSOIdentifierType idType = new
> PSOIdentifierType(lg.getId().getLogin(),null, "target");
>                                addReqType.setPsoID(idType);
>                                addReqType.setRequestID("R4589");
>                                
> addReqType.setTargetID(lg.getId().getManagedSysId());
>                                                                
> ExtensibleUser extUser = new ExtensibleUser();
>                                extUser.setName(user.getFirstName() + "
> " + user.getLastName());
>                                extUser.getAttributes().add(new
> ExtensibleAttribute("cn",user.getFirstName() + " " +
> user.getLastName()));
>
>                                
> addReqType.getData().getAny().add(extUser);
>                                port.add(addReqType);
>
> alternative JAXWS Code:
>
>                                JaxWsProxyFactoryBean factory = new
> JaxWsProxyFactoryBean();
>                                factory.getInInterceptors().add(new
> LoggingInInterceptor());
>                                factory.getOutInterceptors().add(new
> LoggingOutInterceptor());
>                                                                
> factory.setServiceClass(ConnectorService.class);
>                                                                
> log.info("Service endpoint : " + connector.getServiceUrl() );
>                                                                
> factory.setAddress(connector.getServiceUrl());
>                                                      
> factory.setWsdlURL("http://localhost:8080/idm-connector-ws/ExampleConnectorService?wsdl");
>
>                                 ConnectorService port =
> (ConnectorService) factory.create();  
>
>
>
> Exception:
>
> WARNING: Application has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Port
> {http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort
> not found.
>        at
> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:148)
>
>        at
> org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:83)
>
>        at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:114)
>
>        at
> org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:55)
>
>        at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker
> .java:68)
>
> Caused by:
>
> Caused by: javax.xml.ws.WebServiceException: Port
> {http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort
> not found.
>        at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:311)
>        at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:302)
>        at javax.xml.ws.Service.getPort(Service.java:92)
>        at
> org.openiam.provision.service.ProvisionServiceImpl.addUser(ProvisionServiceImpl.java:224)
>
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>
>
WSDL:

<?xml version="1.0" encoding="UTF-8" ?>
- <#> <wsdl:definitions
xmlns:ns1="*http://cxf.apache.org/bindings/xformat*"
xmlns:soap="*http://schemas.xmlsoap.org/wsdl/soap/*"
xmlns:tns="*http://www.openiam.org/service/connector*"
xmlns:wsdl="*http://schemas.xmlsoap.org/wsdl/*"
xmlns:xsd="*http://www.w3.org/2001/XMLSchema*"
name="*ExampleConnectorService*"
targetNamespace="*http://www.openiam.org/service/connector*">
- <#> <wsdl:types>
- <#> <xs:schema attributeFormDefault="*unqualified*"
elementFormDefault="*qualified*"
targetNamespace="*http://www.openiam.org/service/connector*"
xmlns:tns="*http://www.openiam.org/service/connector*"
xmlns:xs="*http://www.w3.org/2001/XMLSchema*">
  <xs:element name="*addRequest*" type="*tns:AddRequestType*" />
  <xs:element name="*addResponse*" type="*tns:AddResponseType*" />
  <xs:element name="*deleteRequest*" type="*tns:DeleteRequestType*" />
  <xs:element name="*deleteResponse*" type="*tns:ResponseType*" />
  <xs:element name="*expirePasswordRequest*"
type="*tns:ExpirePasswordRequestType*" />
  <xs:element name="*expirePasswordResponse*" type="*tns:ResponseType*" />
  <xs:element name="*extensibleUser*" type="*tns:ExtensibleUser*" />
  <xs:element name="*listTargetsRequest*"
type="*tns:ListTargetsRequestType*" />
  <xs:element name="*listTargetsResponse*"
type="*tns:ListTargetsResponseType*" />
  <xs:element name="*lookupRequest*" type="*tns:LookupRequestType*" />
  <xs:element name="*lookupResponse*" type="*tns:LookupResponseType*" />
  <xs:element name="*modifyRequest*" type="*tns:ModifyRequestType*" />
  <xs:element name="*modifyResponse*" type="*tns:ModifyResponseType*" />
  <xs:element name="*resetPasswordRequest*"
type="*tns:ResetPasswordRequestType*" />
  <xs:element name="*resetPasswordResponse*"
type="*tns:ResetPasswordResponseType*" />
  <xs:element name="*select*" type="*tns:SelectionType*" />
  <xs:element name="*setPasswordRequest*"
type="*tns:SetPasswordRequestType*" />
  <xs:element name="*setPasswordResponse*" type="*tns:ResponseType*" />
  <xs:element name="*validatePasswordRequest*"
type="*tns:ValidatePasswordRequestType*" />
  <xs:element name="*validatePasswordResponse*"
type="*tns:ValidatePasswordResponseType*" />
- <#> <xs:complexType name="*ExtensibleType*">
- <#> <xs:sequence>
  <xs:any maxOccurs="*unbounded*" minOccurs="*0*" namespace="*##other*"
processContents="*lax*" />
  </xs:sequence>
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:complexType>
- <#> <xs:complexType name="*SelectionType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:QueryClauseType*">
- <#> <xs:sequence>
  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
name="*namespacePrefixMap*" nillable="*true*"
type="*tns:NamespacePrefixMappingType*" />
  </xs:sequence>
  <xs:attribute name="*path*" type="*xs:string*" use="*required*" />
  <xs:attribute name="*namespaceURI*" type="*xs:string*"
use="*required*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*QueryClauseType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ExtensibleType*">
  <xs:sequence />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*NamespacePrefixMappingType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ExtensibleType*">
  <xs:sequence />
  <xs:attribute name="*prefix*" type="*xs:string*" use="*required*" />
  <xs:attribute name="*namespace*" type="*xs:string*" use="*required*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*AddRequestType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:RequestType*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*psoID*"
type="*tns:PSOIdentifierType*" />
  <xs:element minOccurs="*0*" name="*containerID*"
type="*tns:PSOIdentifierType*" />
  <xs:element name="*data*" type="*tns:ExtensibleType*" />
  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
name="*capabilityData*" nillable="*true*"
type="*tns:CapabilityDataType*" />
  </xs:sequence>
  <xs:attribute name="*targetID*" type="*xs:string*" />
  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*RequestType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ExtensibleType*">
  <xs:sequence />
  <xs:attribute name="*requestID*" type="*xs:ID*" />
  <xs:attribute name="*executionMode*" type="*tns:ExecutionModeType*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*PSOIdentifierType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:IdentifierType*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*containerID*"
type="*tns:PSOIdentifierType*" />
  </xs:sequence>
  <xs:attribute name="*targetID*" type="*xs:string*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*IdentifierType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ExtensibleType*">
  <xs:sequence />
  <xs:attribute name="*ID*" type="*xs:string*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*CapabilityDataType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ExtensibleType*">
  <xs:sequence />
  <xs:attribute name="*mustUnderstand*" type="*xs:boolean*" />
  <xs:attribute name="*capabilityURI*" type="*xs:anyURI*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*LookupRequestType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:RequestType*">
- <#> <xs:sequence>
  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
  </xs:sequence>
  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*ListTargetsRequestType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:RequestType*">
  <xs:sequence />
  <xs:attribute name="*profile*" type="*xs:anyURI*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*DeleteRequestType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:RequestType*">
- <#> <xs:sequence>
  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
  </xs:sequence>
  <xs:attribute name="*recursive*" type="*xs:boolean*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*ModifyRequestType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:RequestType*">
- <#> <xs:sequence>
  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
  <xs:element maxOccurs="*unbounded*" name="*modification*"
type="*tns:ModificationType*" />
  </xs:sequence>
  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*ModificationType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ExtensibleType*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*component*"
type="*tns:SelectionType*" />
  <xs:element minOccurs="*0*" name="*data*" type="*tns:ExtensibleType*" />
  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
name="*capabilityData*" nillable="*true*"
type="*tns:CapabilityDataType*" />
  </xs:sequence>
  <xs:attribute name="*modificationMode*"
type="*tns:ModificationModeType*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*CapabilityType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ExtensibleType*">
- <#> <xs:sequence>
  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*appliesTo*"
nillable="*true*" type="*tns:SchemaEntityRefType*" />
  </xs:sequence>
  <xs:attribute name="*namespaceURI*" type="*xs:anyURI*" />
  <xs:attribute name="*location*" type="*xs:anyURI*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*SchemaEntityRefType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ExtensibleType*">
  <xs:sequence />
  <xs:attribute name="*targetID*" type="*xs:string*" />
  <xs:attribute name="*entityName*" type="*xs:string*" />
  <xs:attribute name="*isContainer*" type="*xs:boolean*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*ModifyResponseType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ResponseType*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
  </xs:sequence>
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*ResponseType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ExtensibleType*">
- <#> <xs:sequence>
  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
name="*errorMessage*" nillable="*true*" type="*xs:string*" />
  </xs:sequence>
  <xs:attribute name="*status*" type="*tns:StatusCodeType*"
use="*required*" />
  <xs:attribute name="*requestID*" type="*xs:ID*" />
  <xs:attribute name="*error*" type="*tns:ErrorCode*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*PSOType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ExtensibleType*">
- <#> <xs:sequence>
  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
  <xs:element minOccurs="*0*" name="*data*" type="*tns:ExtensibleType*" />
  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
name="*capabilityData*" nillable="*true*"
type="*tns:CapabilityDataType*" />
  </xs:sequence>
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*AddResponseType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ResponseType*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
  </xs:sequence>
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*ListTargetsResponseType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ResponseType*">
- <#> <xs:sequence>
  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*target*"
nillable="*true*" type="*tns:TargetType*" />
  </xs:sequence>
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*TargetType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ExtensibleType*">
- <#> <xs:sequence>
  <xs:element maxOccurs="*unbounded*" name="*schema*"
type="*tns:SchemaType*" />
  <xs:element minOccurs="*0*" name="*capabilities*"
type="*tns:CapabilitiesListType*" />
  </xs:sequence>
  <xs:attribute name="*targetID*" type="*xs:string*" />
  <xs:attribute name="*profile*" type="*xs:anyURI*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*SchemaType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ExtensibleType*">
- <#> <xs:sequence>
  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
name="*supportedSchemaEntity*" nillable="*true*"
type="*tns:SchemaEntityRefType*" />
  </xs:sequence>
  <xs:attribute name="*ref*" type="*xs:anyURI*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*CapabilitiesListType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ExtensibleType*">
- <#> <xs:sequence>
  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
name="*capability*" nillable="*true*" type="*tns:CapabilityType*" />
  </xs:sequence>
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*LookupResponseType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ResponseType*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
  </xs:sequence>
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*ExtensibleUser*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ExtensibleObject*">
- <#> <xs:sequence>
  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*address*"
nillable="*true*" type="*tns:ExtensibleObject*" />
  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*phone*"
nillable="*true*" type="*tns:ExtensibleObject*" />
  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*email*"
nillable="*true*" type="*tns:ExtensibleObject*" />
  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*group*"
nillable="*true*" type="*tns:ExtensibleGroup*" />
  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*role*"
nillable="*true*" type="*tns:ExtensibleRole*" />
  </xs:sequence>
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*ExtensibleObject*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*objectId*" type="*xs:string*" />
  <xs:element minOccurs="*0*" name="*name*" type="*xs:string*" />
  <xs:element name="*operation*" type="*xs:int*" />
  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
name="*attributes*" nillable="*true*" type="*tns:ExtensibleAttribute*" />
  </xs:sequence>
  </xs:complexType>
- <#> <xs:complexType name="*ExtensibleAttribute*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*name*" type="*xs:string*" />
  <xs:element minOccurs="*0*" name="*value*" type="*xs:string*" />
  <xs:element name="*operation*" type="*xs:int*" />
  </xs:sequence>
  </xs:complexType>
- <#> <xs:complexType name="*ExtensibleGroup*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ExtensibleObject*">
  <xs:sequence />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*ExtensibleRole*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ExtensibleObject*">
  <xs:sequence />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*ExpirePasswordRequestType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:RequestType*">
- <#> <xs:sequence>
  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
  </xs:sequence>
  <xs:attribute name="*remainingLogins*" type="*xs:int*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*ValidatePasswordRequestType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:RequestType*">
- <#> <xs:sequence>
  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
  <xs:element name="*password*" type="*xs:string*" />
  </xs:sequence>
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*ValidatePasswordResponseType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ResponseType*">
  <xs:sequence />
  <xs:attribute name="*valid*" type="*xs:boolean*" />
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*SetPasswordRequestType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:RequestType*">
- <#> <xs:sequence>
  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
  <xs:element name="*password*" type="*xs:string*" />
  <xs:element minOccurs="*0*" name="*currentPassword*"
type="*xs:string*" />
  </xs:sequence>
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*ResetPasswordRequestType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:RequestType*">
- <#> <xs:sequence>
  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
  </xs:sequence>
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:complexType name="*ResetPasswordResponseType*">
- <#> <xs:complexContent>
- <#> <xs:extension base="*tns:ResponseType*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*password*" type="*xs:string*" />
  </xs:sequence>
  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
  </xs:extension>
  </xs:complexContent>
  </xs:complexType>
- <#> <xs:simpleType name="*ReturnDataType*">
- <#> <xs:restriction base="*xs:string*">
  <xs:enumeration value="*identifier*" />
  <xs:enumeration value="*data*" />
  <xs:enumeration value="*everything*" />
  </xs:restriction>
  </xs:simpleType>
- <#> <xs:simpleType name="*ExecutionModeType*">
- <#> <xs:restriction base="*xs:string*">
  <xs:enumeration value="*synchronous*" />
  <xs:enumeration value="*asynchronous*" />
  </xs:restriction>
  </xs:simpleType>
- <#> <xs:simpleType name="*ModificationModeType*">
- <#> <xs:restriction base="*xs:string*">
  <xs:enumeration value="*add*" />
  <xs:enumeration value="*replace*" />
  <xs:enumeration value="*delete*" />
  </xs:restriction>
  </xs:simpleType>
- <#> <xs:simpleType name="*StatusCodeType*">
- <#> <xs:restriction base="*xs:string*">
  <xs:enumeration value="*success*" />
  <xs:enumeration value="*failure*" />
  <xs:enumeration value="*pending*" />
  </xs:restriction>
  </xs:simpleType>
- <#> <xs:simpleType name="*ErrorCode*">
- <#> <xs:restriction base="*xs:string*">
  <xs:enumeration value="*malformedRequest*" />
  <xs:enumeration value="*unsupportedOperation*" />
  <xs:enumeration value="*unsupportedIdentifierType*" />
  <xs:enumeration value="*noSuchIdentifier*" />
  <xs:enumeration value="*customError*" />
  <xs:enumeration value="*unsupportedExecutionMode*" />
  <xs:enumeration value="*invalidContainment*" />
  <xs:enumeration value="*noSuchRequest*" />
  <xs:enumeration value="*unsupportedSelectionType*" />
  <xs:enumeration value="*resultSetToLarge*" />
  <xs:enumeration value="*unsupportedProfile*" />
  <xs:enumeration value="*invalidIdentifier*" />
  <xs:enumeration value="*alreadyExists*" />
  <xs:enumeration value="*containerNotEmpty*" />
  </xs:restriction>
  </xs:simpleType>
  <xs:element name="*add*" type="*tns:add*" />
- <#> <xs:complexType name="*add*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*reqType*"
type="*tns:AddRequestType*" />
  </xs:sequence>
  </xs:complexType>
  <xs:element name="*testConnection*" type="*tns:testConnection*" />
- <#> <xs:complexType name="*testConnection*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*targetID*" type="*xs:string*" />
  </xs:sequence>
  </xs:complexType>
  <xs:element name="*testConnectionResponse*"
type="*tns:testConnectionResponse*" />
- <#> <xs:complexType name="*testConnectionResponse*">
- <#> <xs:sequence>
  <xs:element name="*return*" type="*xs:boolean*" />
  </xs:sequence>
  </xs:complexType>
  <xs:element name="*expirePassword*" type="*tns:expirePassword*" />
- <#> <xs:complexType name="*expirePassword*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*request*"
type="*tns:ExpirePasswordRequestType*" />
  </xs:sequence>
  </xs:complexType>
  <xs:element name="*lookup*" type="*tns:lookup*" />
- <#> <xs:complexType name="*lookup*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*reqType*"
type="*tns:LookupRequestType*" />
  </xs:sequence>
  </xs:complexType>
  <xs:element name="*delete*" type="*tns:delete*" />
- <#> <xs:complexType name="*delete*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*reqType*"
type="*tns:DeleteRequestType*" />
  </xs:sequence>
  </xs:complexType>
  <xs:element name="*validatePassword*" type="*tns:validatePassword*" />
- <#> <xs:complexType name="*validatePassword*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*request*"
type="*tns:ValidatePasswordRequestType*" />
  </xs:sequence>
  </xs:complexType>
  <xs:element name="*modify*" type="*tns:modify*" />
- <#> <xs:complexType name="*modify*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*reqType*"
type="*tns:ModifyRequestType*" />
  </xs:sequence>
  </xs:complexType>
  <xs:element name="*setPassword*" type="*tns:setPassword*" />
- <#> <xs:complexType name="*setPassword*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*request*"
type="*tns:SetPasswordRequestType*" />
  </xs:sequence>
  </xs:complexType>
  <xs:element name="*resetPassword*" type="*tns:resetPassword*" />
- <#> <xs:complexType name="*resetPassword*">
- <#> <xs:sequence>
  <xs:element minOccurs="*0*" name="*request*"
type="*tns:ResetPasswordRequestType*" />
  </xs:sequence>
  </xs:complexType>
  </xs:schema>
  </wsdl:types>
- <#> <wsdl:message name="*resetPasswordResponse*">
  <wsdl:part name="*parameters*" element="*tns:resetPasswordResponse*" />
  </wsdl:message>
- <#> <wsdl:message name="*modifyResponse*">
  <wsdl:part name="*parameters*" element="*tns:modifyResponse*" />
  </wsdl:message>
- <#> <wsdl:message name="*delete*">
  <wsdl:part name="*parameters*" element="*tns:delete*" />
  </wsdl:message>
- <#> <wsdl:message name="*setPassword*">
  <wsdl:part name="*parameters*" element="*tns:setPassword*" />
  </wsdl:message>
- <#> <wsdl:message name="*deleteResponse*">
  <wsdl:part name="*parameters*" element="*tns:deleteResponse*" />
  </wsdl:message>
- <#> <wsdl:message name="*setPasswordResponse*">
  <wsdl:part name="*parameters*" element="*tns:setPasswordResponse*" />
  </wsdl:message>
- <#> <wsdl:message name="*validatePasswordResponse*">
  <wsdl:part name="*parameters*"
element="*tns:validatePasswordResponse*" />
  </wsdl:message>
- <#> <wsdl:message name="*lookupResponse*">
  <wsdl:part name="*parameters*" element="*tns:lookupResponse*" />
  </wsdl:message>
- <#> <wsdl:message name="*testConnection*">
  <wsdl:part name="*parameters*" element="*tns:testConnection*" />
  </wsdl:message>
- <#> <wsdl:message name="*modify*">
  <wsdl:part name="*parameters*" element="*tns:modify*" />
  </wsdl:message>
- <#> <wsdl:message name="*testConnectionResponse*">
  <wsdl:part name="*parameters*" element="*tns:testConnectionResponse*" />
  </wsdl:message>
- <#> <wsdl:message name="*add*">
  <wsdl:part name="*parameters*" element="*tns:add*" />
  </wsdl:message>
- <#> <wsdl:message name="*expirePasswordResponse*">
  <wsdl:part name="*parameters*" element="*tns:expirePasswordResponse*" />
  </wsdl:message>
- <#> <wsdl:message name="*lookup*">
  <wsdl:part name="*parameters*" element="*tns:lookup*" />
  </wsdl:message>
- <#> <wsdl:message name="*addResponse*">
  <wsdl:part name="*parameters*" element="*tns:addResponse*" />
  </wsdl:message>
- <#> <wsdl:message name="*expirePassword*">
  <wsdl:part name="*parameters*" element="*tns:expirePassword*" />
  </wsdl:message>
- <#> <wsdl:message name="*validatePassword*">
  <wsdl:part name="*parameters*" element="*tns:validatePassword*" />
  </wsdl:message>
- <#> <wsdl:message name="*resetPassword*">
  <wsdl:part name="*parameters*" element="*tns:resetPassword*" />
  </wsdl:message>
- <#> <wsdl:portType name="*ConnectorService*">
- <#> <wsdl:operation name="*add*">
  <wsdl:input name="*add*" message="*tns:add*" />
  <wsdl:output name="*addResponse*" message="*tns:addResponse*" />
  </wsdl:operation>
- <#> <wsdl:operation name="*testConnection*">
  <wsdl:input name="*testConnection*" message="*tns:testConnection*" />
  <wsdl:output name="*testConnectionResponse*"
message="*tns:testConnectionResponse*" />
  </wsdl:operation>
- <#> <wsdl:operation name="*expirePassword*">
  <wsdl:input name="*expirePassword*" message="*tns:expirePassword*" />
  <wsdl:output name="*expirePasswordResponse*"
message="*tns:expirePasswordResponse*" />
  </wsdl:operation>
- <#> <wsdl:operation name="*lookup*">
  <wsdl:input name="*lookup*" message="*tns:lookup*" />
  <wsdl:output name="*lookupResponse*" message="*tns:lookupResponse*" />
  </wsdl:operation>
- <#> <wsdl:operation name="*delete*">
  <wsdl:input name="*delete*" message="*tns:delete*" />
  <wsdl:output name="*deleteResponse*" message="*tns:deleteResponse*" />
  </wsdl:operation>
- <#> <wsdl:operation name="*validatePassword*">
  <wsdl:input name="*validatePassword*" message="*tns:validatePassword*" />
  <wsdl:output name="*validatePasswordResponse*"
message="*tns:validatePasswordResponse*" />
  </wsdl:operation>
- <#> <wsdl:operation name="*modify*">
  <wsdl:input name="*modify*" message="*tns:modify*" />
  <wsdl:output name="*modifyResponse*" message="*tns:modifyResponse*" />
  </wsdl:operation>
- <#> <wsdl:operation name="*setPassword*">
  <wsdl:input name="*setPassword*" message="*tns:setPassword*" />
  <wsdl:output name="*setPasswordResponse*"
message="*tns:setPasswordResponse*" />
  </wsdl:operation>
- <#> <wsdl:operation name="*resetPassword*">
  <wsdl:input name="*resetPassword*" message="*tns:resetPassword*" />
  <wsdl:output name="*resetPasswordResponse*"
message="*tns:resetPasswordResponse*" />
  </wsdl:operation>
  </wsdl:portType>
- <#> <wsdl:binding name="*ExampleConnectorServiceSoapBinding*"
type="*tns:ConnectorService*">
  <soap:binding style="*document*"
transport="*http://schemas.xmlsoap.org/soap/http*" />
- <#> <wsdl:operation name="*add*">
  <soap:operation soapAction="" style="*document*" />
- <#> <wsdl:input name="*add*">
  <soap:body use="*literal*" />
  </wsdl:input>
- <#> <wsdl:output name="*addResponse*">
  <soap:body use="*literal*" />
  </wsdl:output>
  </wsdl:operation>
- <#> <wsdl:operation name="*testConnection*">
  <soap:operation soapAction="" style="*document*" />
- <#> <wsdl:input name="*testConnection*">
  <soap:body use="*literal*" />
  </wsdl:input>
- <#> <wsdl:output name="*testConnectionResponse*">
  <soap:body use="*literal*" />
  </wsdl:output>
  </wsdl:operation>
- <#> <wsdl:operation name="*expirePassword*">
  <soap:operation soapAction="" style="*document*" />
- <#> <wsdl:input name="*expirePassword*">
  <soap:body use="*literal*" />
  </wsdl:input>
- <#> <wsdl:output name="*expirePasswordResponse*">
  <soap:body use="*literal*" />
  </wsdl:output>
  </wsdl:operation>
- <#> <wsdl:operation name="*lookup*">
  <soap:operation soapAction="" style="*document*" />
- <#> <wsdl:input name="*lookup*">
  <soap:body use="*literal*" />
  </wsdl:input>
- <#> <wsdl:output name="*lookupResponse*">
  <soap:body use="*literal*" />
  </wsdl:output>
  </wsdl:operation>
- <#> <wsdl:operation name="*delete*">
  <soap:operation soapAction="" style="*document*" />
- <#> <wsdl:input name="*delete*">
  <soap:body use="*literal*" />
  </wsdl:input>
- <#> <wsdl:output name="*deleteResponse*">
  <soap:body use="*literal*" />
  </wsdl:output>
  </wsdl:operation>
- <#> <wsdl:operation name="*validatePassword*">
  <soap:operation soapAction="" style="*document*" />
- <#> <wsdl:input name="*validatePassword*">
  <soap:body use="*literal*" />
  </wsdl:input>
- <#> <wsdl:output name="*validatePasswordResponse*">
  <soap:body use="*literal*" />
  </wsdl:output>
  </wsdl:operation>
- <#> <wsdl:operation name="*modify*">
  <soap:operation soapAction="" style="*document*" />
- <#> <wsdl:input name="*modify*">
  <soap:body use="*literal*" />
  </wsdl:input>
- <#> <wsdl:output name="*modifyResponse*">
  <soap:body use="*literal*" />
  </wsdl:output>
  </wsdl:operation>
- <#> <wsdl:operation name="*setPassword*">
  <soap:operation soapAction="" style="*document*" />
- <#> <wsdl:input name="*setPassword*">
  <soap:body use="*literal*" />
  </wsdl:input>
- <#> <wsdl:output name="*setPasswordResponse*">
  <soap:body use="*literal*" />
  </wsdl:output>
  </wsdl:operation>
- <#> <wsdl:operation name="*resetPassword*">
  <soap:operation soapAction="" style="*document*" />
- <#> <wsdl:input name="*resetPassword*">
  <soap:body use="*literal*" />
  </wsdl:input>
- <#> <wsdl:output name="*resetPasswordResponse*">
  <soap:body use="*literal*" />
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <#> <wsdl:service name="*ExampleConnectorService*">
- <#> <wsdl:port name="*ExampleConnectorServicePort*"
binding="*tns:ExampleConnectorServiceSoapBinding*">
  <soap:address
location="*http://localhost:8080/idm-connector-ws/ExampleConnectorService*"
/>
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>


Re: Problem Creating JAXWS Client

by bimargulies :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Attachments don't work on this list. Open a JIRA if you need to give us one.


On Sat, Nov 7, 2009 at 8:14 PM, Suneet Shah <suneetshah2000@...>wrote:

> Hello:
>
>>
>> I am trying to create a client to consume a service that I built using
>> CXF. However, I am running into the exception below where it can't find the
>> Port. I have attached my wsdl.
>>
>> I have tried two different ways to build the client. One is based on the
>> code that I saw from wsdl2java and the other using jaxwsfactor.y.
>>
>> If I leave out the wsdl location, I get serialization errors.
>>
>> Thanks for your help
>> Suneet
>>
>>                    Service service =
>> Service.create(QName.valueOf(connector.getServiceUrl()));
>>                    ConnectorService port = service.getPort(new QName("
>> http://localhost:8080/idm-connector-ws", "ExampleConnectorServicePort"),
>> ConnectorService.class);
>>
>>
>>                                              AddRequestType addReqType = new
>> AddRequestType();
>>                               PSOIdentifierType idType = new
>> PSOIdentifierType(lg.getId().getLogin(),null, "target");
>>                               addReqType.setPsoID(idType);
>>                               addReqType.setRequestID("R4589");
>>
>> addReqType.setTargetID(lg.getId().getManagedSysId());
>>
>> ExtensibleUser extUser = new ExtensibleUser();
>>                               extUser.setName(user.getFirstName() + " " +
>> user.getLastName());
>>                               extUser.getAttributes().add(new
>> ExtensibleAttribute("cn",user.getFirstName() + " " + user.getLastName()));
>>
>>                               addReqType.getData().getAny().add(extUser);
>>                               port.add(addReqType);
>>
>> alternative JAXWS Code:
>>
>>                               JaxWsProxyFactoryBean factory = new
>> JaxWsProxyFactoryBean();
>>                               factory.getInInterceptors().add(new
>> LoggingInInterceptor());
>>                               factory.getOutInterceptors().add(new
>> LoggingOutInterceptor());
>>
>> factory.setServiceClass(ConnectorService.class);
>>                                                                log.info("Service
>> endpoint : " + connector.getServiceUrl() );
>>
>>  factory.setAddress(connector.getServiceUrl());
>>                                                      factory.setWsdlURL("
>> http://localhost:8080/idm-connector-ws/ExampleConnectorService?wsdl");
>>                                ConnectorService port = (ConnectorService)
>> factory.create();
>>
>>
>> Exception:
>>
>> WARNING: Application has thrown exception, unwinding now
>> org.apache.cxf.interceptor.Fault: Port {
>> http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort<http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>not found.
>>       at
>> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:148)
>>
>>       at
>> org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:83)
>>
>>       at
>> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:114)
>>
>>       at
>> org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:55)
>>       at
>> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker
>> .java:68)
>>
>> Caused by:
>>
>> Caused by: javax.xml.ws.WebServiceException: Port {
>> http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort<http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>not found.
>>       at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:311)
>>       at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:302)
>>       at javax.xml.ws.Service.getPort(Service.java:92)
>>       at
>> org.openiam.provision.service.ProvisionServiceImpl.addUser(ProvisionServiceImpl.java:224)
>>
>>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>       at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>
>>
>>  WSDL:
>
> <?xml version="1.0" encoding="UTF-8" ?>
> - <#> <wsdl:definitions xmlns:ns1="*
> http://cxf.apache.org/bindings/xformat*" xmlns:soap="*
> http://schemas.xmlsoap.org/wsdl/soap/*" xmlns:tns="*
> http://www.openiam.org/service/connector*" xmlns:wsdl="*
> http://schemas.xmlsoap.org/wsdl/*" xmlns:xsd="*
> http://www.w3.org/2001/XMLSchema*" name="*ExampleConnectorService*"
> targetNamespace="*http://www.openiam.org/service/connector*">
> - <#> <wsdl:types>
> - <#> <xs:schema attributeFormDefault="*unqualified*"
> elementFormDefault="*qualified*" targetNamespace="*
> http://www.openiam.org/service/connector*" xmlns:tns="*
> http://www.openiam.org/service/connector*" xmlns:xs="*
> http://www.w3.org/2001/XMLSchema*">
>  <xs:element name="*addRequest*" type="*tns:AddRequestType*" />
>  <xs:element name="*addResponse*" type="*tns:AddResponseType*" />
>  <xs:element name="*deleteRequest*" type="*tns:DeleteRequestType*" />
>  <xs:element name="*deleteResponse*" type="*tns:ResponseType*" />
>  <xs:element name="*expirePasswordRequest*"
> type="*tns:ExpirePasswordRequestType*" />
>  <xs:element name="*expirePasswordResponse*" type="*tns:ResponseType*" />
>  <xs:element name="*extensibleUser*" type="*tns:ExtensibleUser*" />
>  <xs:element name="*listTargetsRequest*"
> type="*tns:ListTargetsRequestType*" />
>  <xs:element name="*listTargetsResponse*"
> type="*tns:ListTargetsResponseType*" />
>  <xs:element name="*lookupRequest*" type="*tns:LookupRequestType*" />
>  <xs:element name="*lookupResponse*" type="*tns:LookupResponseType*" />
>  <xs:element name="*modifyRequest*" type="*tns:ModifyRequestType*" />
>  <xs:element name="*modifyResponse*" type="*tns:ModifyResponseType*" />
>  <xs:element name="*resetPasswordRequest*"
> type="*tns:ResetPasswordRequestType*" />
>  <xs:element name="*resetPasswordResponse*"
> type="*tns:ResetPasswordResponseType*" />
>  <xs:element name="*select*" type="*tns:SelectionType*" />
>  <xs:element name="*setPasswordRequest*"
> type="*tns:SetPasswordRequestType*" />
>  <xs:element name="*setPasswordResponse*" type="*tns:ResponseType*" />
>  <xs:element name="*validatePasswordRequest*"
> type="*tns:ValidatePasswordRequestType*" />
>  <xs:element name="*validatePasswordResponse*"
> type="*tns:ValidatePasswordResponseType*" />
> - <#> <xs:complexType name="*ExtensibleType*">
> - <#> <xs:sequence>
>  <xs:any maxOccurs="*unbounded*" minOccurs="*0*" namespace="*##other*"
> processContents="*lax*" />
>  </xs:sequence>
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:complexType>
> - <#> <xs:complexType name="*SelectionType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:QueryClauseType*">
> - <#> <xs:sequence>
>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
> name="*namespacePrefixMap*" nillable="*true*"
> type="*tns:NamespacePrefixMappingType*" />
>  </xs:sequence>
>  <xs:attribute name="*path*" type="*xs:string*" use="*required*" />
>  <xs:attribute name="*namespaceURI*" type="*xs:string*" use="*required*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*QueryClauseType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ExtensibleType*">
>  <xs:sequence />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*NamespacePrefixMappingType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ExtensibleType*">
>  <xs:sequence />
>  <xs:attribute name="*prefix*" type="*xs:string*" use="*required*" />
>  <xs:attribute name="*namespace*" type="*xs:string*" use="*required*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*AddRequestType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:RequestType*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*psoID*" type="*tns:PSOIdentifierType*"
> />
>  <xs:element minOccurs="*0*" name="*containerID*"
> type="*tns:PSOIdentifierType*" />
>  <xs:element name="*data*" type="*tns:ExtensibleType*" />
>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
> name="*capabilityData*" nillable="*true*" type="*tns:CapabilityDataType*" />
>  </xs:sequence>
>  <xs:attribute name="*targetID*" type="*xs:string*" />
>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*RequestType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ExtensibleType*">
>  <xs:sequence />
>  <xs:attribute name="*requestID*" type="*xs:ID*" />
>  <xs:attribute name="*executionMode*" type="*tns:ExecutionModeType*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*PSOIdentifierType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:IdentifierType*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*containerID*"
> type="*tns:PSOIdentifierType*" />
>  </xs:sequence>
>  <xs:attribute name="*targetID*" type="*xs:string*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*IdentifierType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ExtensibleType*">
>  <xs:sequence />
>  <xs:attribute name="*ID*" type="*xs:string*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*CapabilityDataType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ExtensibleType*">
>  <xs:sequence />
>  <xs:attribute name="*mustUnderstand*" type="*xs:boolean*" />
>  <xs:attribute name="*capabilityURI*" type="*xs:anyURI*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*LookupRequestType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:RequestType*">
> - <#> <xs:sequence>
>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>  </xs:sequence>
>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*ListTargetsRequestType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:RequestType*">
>  <xs:sequence />
>  <xs:attribute name="*profile*" type="*xs:anyURI*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*DeleteRequestType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:RequestType*">
> - <#> <xs:sequence>
>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>  </xs:sequence>
>  <xs:attribute name="*recursive*" type="*xs:boolean*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*ModifyRequestType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:RequestType*">
> - <#> <xs:sequence>
>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>  <xs:element maxOccurs="*unbounded*" name="*modification*"
> type="*tns:ModificationType*" />
>  </xs:sequence>
>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*ModificationType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ExtensibleType*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*component*" type="*tns:SelectionType*"
> />
>  <xs:element minOccurs="*0*" name="*data*" type="*tns:ExtensibleType*" />
>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
> name="*capabilityData*" nillable="*true*" type="*tns:CapabilityDataType*" />
>  </xs:sequence>
>  <xs:attribute name="*modificationMode*" type="*tns:ModificationModeType*"
> />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*CapabilityType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ExtensibleType*">
> - <#> <xs:sequence>
>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*appliesTo*"
> nillable="*true*" type="*tns:SchemaEntityRefType*" />
>  </xs:sequence>
>  <xs:attribute name="*namespaceURI*" type="*xs:anyURI*" />
>  <xs:attribute name="*location*" type="*xs:anyURI*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*SchemaEntityRefType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ExtensibleType*">
>  <xs:sequence />
>  <xs:attribute name="*targetID*" type="*xs:string*" />
>  <xs:attribute name="*entityName*" type="*xs:string*" />
>  <xs:attribute name="*isContainer*" type="*xs:boolean*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*ModifyResponseType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ResponseType*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>  </xs:sequence>
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*ResponseType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ExtensibleType*">
> - <#> <xs:sequence>
>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*errorMessage*"
> nillable="*true*" type="*xs:string*" />
>  </xs:sequence>
>  <xs:attribute name="*status*" type="*tns:StatusCodeType*" use="*required*"
> />
>  <xs:attribute name="*requestID*" type="*xs:ID*" />
>  <xs:attribute name="*error*" type="*tns:ErrorCode*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*PSOType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ExtensibleType*">
> - <#> <xs:sequence>
>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>  <xs:element minOccurs="*0*" name="*data*" type="*tns:ExtensibleType*" />
>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
> name="*capabilityData*" nillable="*true*" type="*tns:CapabilityDataType*" />
>  </xs:sequence>
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*AddResponseType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ResponseType*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>  </xs:sequence>
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*ListTargetsResponseType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ResponseType*">
> - <#> <xs:sequence>
>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*target*"
> nillable="*true*" type="*tns:TargetType*" />
>  </xs:sequence>
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*TargetType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ExtensibleType*">
> - <#> <xs:sequence>
>  <xs:element maxOccurs="*unbounded*" name="*schema*"
> type="*tns:SchemaType*" />
>  <xs:element minOccurs="*0*" name="*capabilities*"
> type="*tns:CapabilitiesListType*" />
>  </xs:sequence>
>  <xs:attribute name="*targetID*" type="*xs:string*" />
>  <xs:attribute name="*profile*" type="*xs:anyURI*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*SchemaType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ExtensibleType*">
> - <#> <xs:sequence>
>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
> name="*supportedSchemaEntity*" nillable="*true*"
> type="*tns:SchemaEntityRefType*" />
>  </xs:sequence>
>  <xs:attribute name="*ref*" type="*xs:anyURI*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*CapabilitiesListType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ExtensibleType*">
> - <#> <xs:sequence>
>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*capability*"
> nillable="*true*" type="*tns:CapabilityType*" />
>  </xs:sequence>
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*LookupResponseType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ResponseType*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>  </xs:sequence>
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*ExtensibleUser*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ExtensibleObject*">
> - <#> <xs:sequence>
>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*address*"
> nillable="*true*" type="*tns:ExtensibleObject*" />
>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*phone*"
> nillable="*true*" type="*tns:ExtensibleObject*" />
>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*email*"
> nillable="*true*" type="*tns:ExtensibleObject*" />
>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*group*"
> nillable="*true*" type="*tns:ExtensibleGroup*" />
>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*role*"
> nillable="*true*" type="*tns:ExtensibleRole*" />
>  </xs:sequence>
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*ExtensibleObject*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*objectId*" type="*xs:string*" />
>  <xs:element minOccurs="*0*" name="*name*" type="*xs:string*" />
>  <xs:element name="*operation*" type="*xs:int*" />
>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*attributes*"
> nillable="*true*" type="*tns:ExtensibleAttribute*" />
>  </xs:sequence>
>  </xs:complexType>
> - <#> <xs:complexType name="*ExtensibleAttribute*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*name*" type="*xs:string*" />
>  <xs:element minOccurs="*0*" name="*value*" type="*xs:string*" />
>  <xs:element name="*operation*" type="*xs:int*" />
>  </xs:sequence>
>  </xs:complexType>
> - <#> <xs:complexType name="*ExtensibleGroup*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ExtensibleObject*">
>  <xs:sequence />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*ExtensibleRole*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ExtensibleObject*">
>  <xs:sequence />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*ExpirePasswordRequestType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:RequestType*">
> - <#> <xs:sequence>
>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>  </xs:sequence>
>  <xs:attribute name="*remainingLogins*" type="*xs:int*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*ValidatePasswordRequestType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:RequestType*">
> - <#> <xs:sequence>
>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>  <xs:element name="*password*" type="*xs:string*" />
>  </xs:sequence>
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*ValidatePasswordResponseType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ResponseType*">
>  <xs:sequence />
>  <xs:attribute name="*valid*" type="*xs:boolean*" />
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*SetPasswordRequestType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:RequestType*">
> - <#> <xs:sequence>
>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>  <xs:element name="*password*" type="*xs:string*" />
>  <xs:element minOccurs="*0*" name="*currentPassword*" type="*xs:string*" />
>  </xs:sequence>
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*ResetPasswordRequestType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:RequestType*">
> - <#> <xs:sequence>
>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>  </xs:sequence>
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:complexType name="*ResetPasswordResponseType*">
> - <#> <xs:complexContent>
> - <#> <xs:extension base="*tns:ResponseType*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*password*" type="*xs:string*" />
>  </xs:sequence>
>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>  </xs:extension>
>  </xs:complexContent>
>  </xs:complexType>
> - <#> <xs:simpleType name="*ReturnDataType*">
> - <#> <xs:restriction base="*xs:string*">
>  <xs:enumeration value="*identifier*" />
>  <xs:enumeration value="*data*" />
>  <xs:enumeration value="*everything*" />
>  </xs:restriction>
>  </xs:simpleType>
> - <#> <xs:simpleType name="*ExecutionModeType*">
> - <#> <xs:restriction base="*xs:string*">
>  <xs:enumeration value="*synchronous*" />
>  <xs:enumeration value="*asynchronous*" />
>  </xs:restriction>
>  </xs:simpleType>
> - <#> <xs:simpleType name="*ModificationModeType*">
> - <#> <xs:restriction base="*xs:string*">
>  <xs:enumeration value="*add*" />
>  <xs:enumeration value="*replace*" />
>  <xs:enumeration value="*delete*" />
>  </xs:restriction>
>  </xs:simpleType>
> - <#> <xs:simpleType name="*StatusCodeType*">
> - <#> <xs:restriction base="*xs:string*">
>  <xs:enumeration value="*success*" />
>  <xs:enumeration value="*failure*" />
>  <xs:enumeration value="*pending*" />
>  </xs:restriction>
>  </xs:simpleType>
> - <#> <xs:simpleType name="*ErrorCode*">
> - <#> <xs:restriction base="*xs:string*">
>  <xs:enumeration value="*malformedRequest*" />
>  <xs:enumeration value="*unsupportedOperation*" />
>  <xs:enumeration value="*unsupportedIdentifierType*" />
>  <xs:enumeration value="*noSuchIdentifier*" />
>  <xs:enumeration value="*customError*" />
>  <xs:enumeration value="*unsupportedExecutionMode*" />
>  <xs:enumeration value="*invalidContainment*" />
>  <xs:enumeration value="*noSuchRequest*" />
>  <xs:enumeration value="*unsupportedSelectionType*" />
>  <xs:enumeration value="*resultSetToLarge*" />
>  <xs:enumeration value="*unsupportedProfile*" />
>  <xs:enumeration value="*invalidIdentifier*" />
>  <xs:enumeration value="*alreadyExists*" />
>  <xs:enumeration value="*containerNotEmpty*" />
>  </xs:restriction>
>  </xs:simpleType>
>  <xs:element name="*add*" type="*tns:add*" />
> - <#> <xs:complexType name="*add*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*reqType*" type="*tns:AddRequestType*"
> />
>  </xs:sequence>
>  </xs:complexType>
>  <xs:element name="*testConnection*" type="*tns:testConnection*" />
> - <#> <xs:complexType name="*testConnection*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*targetID*" type="*xs:string*" />
>  </xs:sequence>
>  </xs:complexType>
>  <xs:element name="*testConnectionResponse*"
> type="*tns:testConnectionResponse*" />
> - <#> <xs:complexType name="*testConnectionResponse*">
> - <#> <xs:sequence>
>  <xs:element name="*return*" type="*xs:boolean*" />
>  </xs:sequence>
>  </xs:complexType>
>  <xs:element name="*expirePassword*" type="*tns:expirePassword*" />
> - <#> <xs:complexType name="*expirePassword*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*request*"
> type="*tns:ExpirePasswordRequestType*" />
>  </xs:sequence>
>  </xs:complexType>
>  <xs:element name="*lookup*" type="*tns:lookup*" />
> - <#> <xs:complexType name="*lookup*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*reqType*"
> type="*tns:LookupRequestType*" />
>  </xs:sequence>
>  </xs:complexType>
>  <xs:element name="*delete*" type="*tns:delete*" />
> - <#> <xs:complexType name="*delete*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*reqType*"
> type="*tns:DeleteRequestType*" />
>  </xs:sequence>
>  </xs:complexType>
>  <xs:element name="*validatePassword*" type="*tns:validatePassword*" />
> - <#> <xs:complexType name="*validatePassword*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*request*"
> type="*tns:ValidatePasswordRequestType*" />
>  </xs:sequence>
>  </xs:complexType>
>  <xs:element name="*modify*" type="*tns:modify*" />
> - <#> <xs:complexType name="*modify*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*reqType*"
> type="*tns:ModifyRequestType*" />
>  </xs:sequence>
>  </xs:complexType>
>  <xs:element name="*setPassword*" type="*tns:setPassword*" />
> - <#> <xs:complexType name="*setPassword*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*request*"
> type="*tns:SetPasswordRequestType*" />
>  </xs:sequence>
>  </xs:complexType>
>  <xs:element name="*resetPassword*" type="*tns:resetPassword*" />
> - <#> <xs:complexType name="*resetPassword*">
> - <#> <xs:sequence>
>  <xs:element minOccurs="*0*" name="*request*"
> type="*tns:ResetPasswordRequestType*" />
>  </xs:sequence>
>  </xs:complexType>
>  </xs:schema>
>  </wsdl:types>
> - <#> <wsdl:message name="*resetPasswordResponse*">
>  <wsdl:part name="*parameters*" element="*tns:resetPasswordResponse*" />
>  </wsdl:message>
> - <#> <wsdl:message name="*modifyResponse*">
>  <wsdl:part name="*parameters*" element="*tns:modifyResponse*" />
>  </wsdl:message>
> - <#> <wsdl:message name="*delete*">
>  <wsdl:part name="*parameters*" element="*tns:delete*" />
>  </wsdl:message>
> - <#> <wsdl:message name="*setPassword*">
>  <wsdl:part name="*parameters*" element="*tns:setPassword*" />
>  </wsdl:message>
> - <#> <wsdl:message name="*deleteResponse*">
>  <wsdl:part name="*parameters*" element="*tns:deleteResponse*" />
>  </wsdl:message>
> - <#> <wsdl:message name="*setPasswordResponse*">
>  <wsdl:part name="*parameters*" element="*tns:setPasswordResponse*" />
>  </wsdl:message>
> - <#> <wsdl:message name="*validatePasswordResponse*">
>  <wsdl:part name="*parameters*" element="*tns:validatePasswordResponse*" />
>  </wsdl:message>
> - <#> <wsdl:message name="*lookupResponse*">
>  <wsdl:part name="*parameters*" element="*tns:lookupResponse*" />
>  </wsdl:message>
> - <#> <wsdl:message name="*testConnection*">
>  <wsdl:part name="*parameters*" element="*tns:testConnection*" />
>  </wsdl:message>
> - <#> <wsdl:message name="*modify*">
>  <wsdl:part name="*parameters*" element="*tns:modify*" />
>  </wsdl:message>
> - <#> <wsdl:message name="*testConnectionResponse*">
>  <wsdl:part name="*parameters*" element="*tns:testConnectionResponse*" />
>  </wsdl:message>
> - <#> <wsdl:message name="*add*">
>  <wsdl:part name="*parameters*" element="*tns:add*" />
>  </wsdl:message>
> - <#> <wsdl:message name="*expirePasswordResponse*">
>  <wsdl:part name="*parameters*" element="*tns:expirePasswordResponse*" />
>  </wsdl:message>
> - <#> <wsdl:message name="*lookup*">
>  <wsdl:part name="*parameters*" element="*tns:lookup*" />
>  </wsdl:message>
> - <#> <wsdl:message name="*addResponse*">
>  <wsdl:part name="*parameters*" element="*tns:addResponse*" />
>  </wsdl:message>
> - <#> <wsdl:message name="*expirePassword*">
>  <wsdl:part name="*parameters*" element="*tns:expirePassword*" />
>  </wsdl:message>
> - <#> <wsdl:message name="*validatePassword*">
>  <wsdl:part name="*parameters*" element="*tns:validatePassword*" />
>  </wsdl:message>
> - <#> <wsdl:message name="*resetPassword*">
>  <wsdl:part name="*parameters*" element="*tns:resetPassword*" />
>  </wsdl:message>
> - <#> <wsdl:portType name="*ConnectorService*">
> - <#> <wsdl:operation name="*add*">
>  <wsdl:input name="*add*" message="*tns:add*" />
>  <wsdl:output name="*addResponse*" message="*tns:addResponse*" />
>  </wsdl:operation>
> - <#> <wsdl:operation name="*testConnection*">
>  <wsdl:input name="*testConnection*" message="*tns:testConnection*" />
>  <wsdl:output name="*testConnectionResponse*"
> message="*tns:testConnectionResponse*" />
>  </wsdl:operation>
> - <#> <wsdl:operation name="*expirePassword*">
>  <wsdl:input name="*expirePassword*" message="*tns:expirePassword*" />
>  <wsdl:output name="*expirePasswordResponse*"
> message="*tns:expirePasswordResponse*" />
>  </wsdl:operation>
> - <#> <wsdl:operation name="*lookup*">
>  <wsdl:input name="*lookup*" message="*tns:lookup*" />
>  <wsdl:output name="*lookupResponse*" message="*tns:lookupResponse*" />
>  </wsdl:operation>
> - <#> <wsdl:operation name="*delete*">
>  <wsdl:input name="*delete*" message="*tns:delete*" />
>  <wsdl:output name="*deleteResponse*" message="*tns:deleteResponse*" />
>  </wsdl:operation>
> - <#> <wsdl:operation name="*validatePassword*">
>  <wsdl:input name="*validatePassword*" message="*tns:validatePassword*" />
>  <wsdl:output name="*validatePasswordResponse*"
> message="*tns:validatePasswordResponse*" />
>  </wsdl:operation>
> - <#> <wsdl:operation name="*modify*">
>  <wsdl:input name="*modify*" message="*tns:modify*" />
>  <wsdl:output name="*modifyResponse*" message="*tns:modifyResponse*" />
>  </wsdl:operation>
> - <#> <wsdl:operation name="*setPassword*">
>  <wsdl:input name="*setPassword*" message="*tns:setPassword*" />
>  <wsdl:output name="*setPasswordResponse*"
> message="*tns:setPasswordResponse*" />
>  </wsdl:operation>
> - <#> <wsdl:operation name="*resetPassword*">
>  <wsdl:input name="*resetPassword*" message="*tns:resetPassword*" />
>  <wsdl:output name="*resetPasswordResponse*"
> message="*tns:resetPasswordResponse*" />
>  </wsdl:operation>
>  </wsdl:portType>
> - <#> <wsdl:binding name="*ExampleConnectorServiceSoapBinding*"
> type="*tns:ConnectorService*">
>  <soap:binding style="*document*" transport="*
> http://schemas.xmlsoap.org/soap/http*" />
> - <#> <wsdl:operation name="*add*">
>  <soap:operation soapAction="" style="*document*" />
> - <#> <wsdl:input name="*add*">
>  <soap:body use="*literal*" />
>  </wsdl:input>
> - <#> <wsdl:output name="*addResponse*">
>  <soap:body use="*literal*" />
>  </wsdl:output>
>  </wsdl:operation>
> - <#> <wsdl:operation name="*testConnection*">
>  <soap:operation soapAction="" style="*document*" />
> - <#> <wsdl:input name="*testConnection*">
>  <soap:body use="*literal*" />
>  </wsdl:input>
> - <#> <wsdl:output name="*testConnectionResponse*">
>  <soap:body use="*literal*" />
>  </wsdl:output>
>  </wsdl:operation>
> - <#> <wsdl:operation name="*expirePassword*">
>  <soap:operation soapAction="" style="*document*" />
> - <#> <wsdl:input name="*expirePassword*">
>  <soap:body use="*literal*" />
>  </wsdl:input>
> - <#> <wsdl:output name="*expirePasswordResponse*">
>  <soap:body use="*literal*" />
>  </wsdl:output>
>  </wsdl:operation>
> - <#> <wsdl:operation name="*lookup*">
>  <soap:operation soapAction="" style="*document*" />
> - <#> <wsdl:input name="*lookup*">
>  <soap:body use="*literal*" />
>  </wsdl:input>
> - <#> <wsdl:output name="*lookupResponse*">
>  <soap:body use="*literal*" />
>  </wsdl:output>
>  </wsdl:operation>
> - <#> <wsdl:operation name="*delete*">
>  <soap:operation soapAction="" style="*document*" />
> - <#> <wsdl:input name="*delete*">
>  <soap:body use="*literal*" />
>  </wsdl:input>
> - <#> <wsdl:output name="*deleteResponse*">
>  <soap:body use="*literal*" />
>  </wsdl:output>
>  </wsdl:operation>
> - <#> <wsdl:operation name="*validatePassword*">
>  <soap:operation soapAction="" style="*document*" />
> - <#> <wsdl:input name="*validatePassword*">
>  <soap:body use="*literal*" />
>  </wsdl:input>
> - <#> <wsdl:output name="*validatePasswordResponse*">
>  <soap:body use="*literal*" />
>  </wsdl:output>
>  </wsdl:operation>
> - <#> <wsdl:operation name="*modify*">
>  <soap:operation soapAction="" style="*document*" />
> - <#> <wsdl:input name="*modify*">
>  <soap:body use="*literal*" />
>  </wsdl:input>
> - <#> <wsdl:output name="*modifyResponse*">
>  <soap:body use="*literal*" />
>  </wsdl:output>
>  </wsdl:operation>
> - <#> <wsdl:operation name="*setPassword*">
>  <soap:operation soapAction="" style="*document*" />
> - <#> <wsdl:input name="*setPassword*">
>  <soap:body use="*literal*" />
>  </wsdl:input>
> - <#> <wsdl:output name="*setPasswordResponse*">
>  <soap:body use="*literal*" />
>  </wsdl:output>
>  </wsdl:operation>
> - <#> <wsdl:operation name="*resetPassword*">
>  <soap:operation soapAction="" style="*document*" />
> - <#> <wsdl:input name="*resetPassword*">
>  <soap:body use="*literal*" />
>  </wsdl:input>
> - <#> <wsdl:output name="*resetPasswordResponse*">
>  <soap:body use="*literal*" />
>  </wsdl:output>
>  </wsdl:operation>
>  </wsdl:binding>
> - <#> <wsdl:service name="*ExampleConnectorService*">
> - <#> <wsdl:port name="*ExampleConnectorServicePort*"
> binding="*tns:ExampleConnectorServiceSoapBinding*">
>  <soap:address location="*
> http://localhost:8080/idm-connector-ws/ExampleConnectorService*" />
>  </wsdl:port>
>  </wsdl:service>
>  </wsdl:definitions>
>
>

Re: Problem Creating JAXWS Client

by sshah :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks Benson.


Benson Margulies wrote:

> Attachments don't work on this list. Open a JIRA if you need to give us one.
>
>
> On Sat, Nov 7, 2009 at 8:14 PM, Suneet Shah <suneetshah2000@...>wrote:
>
>  
>> Hello:
>>
>>    
>>> I am trying to create a client to consume a service that I built using
>>> CXF. However, I am running into the exception below where it can't find the
>>> Port. I have attached my wsdl.
>>>
>>> I have tried two different ways to build the client. One is based on the
>>> code that I saw from wsdl2java and the other using jaxwsfactor.y.
>>>
>>> If I leave out the wsdl location, I get serialization errors.
>>>
>>> Thanks for your help
>>> Suneet
>>>
>>>                    Service service =
>>> Service.create(QName.valueOf(connector.getServiceUrl()));
>>>                    ConnectorService port = service.getPort(new QName("
>>> http://localhost:8080/idm-connector-ws", "ExampleConnectorServicePort"),
>>> ConnectorService.class);
>>>
>>>
>>>                                              AddRequestType addReqType = new
>>> AddRequestType();
>>>                               PSOIdentifierType idType = new
>>> PSOIdentifierType(lg.getId().getLogin(),null, "target");
>>>                               addReqType.setPsoID(idType);
>>>                               addReqType.setRequestID("R4589");
>>>
>>> addReqType.setTargetID(lg.getId().getManagedSysId());
>>>
>>> ExtensibleUser extUser = new ExtensibleUser();
>>>                               extUser.setName(user.getFirstName() + " " +
>>> user.getLastName());
>>>                               extUser.getAttributes().add(new
>>> ExtensibleAttribute("cn",user.getFirstName() + " " + user.getLastName()));
>>>
>>>                               addReqType.getData().getAny().add(extUser);
>>>                               port.add(addReqType);
>>>
>>> alternative JAXWS Code:
>>>
>>>                               JaxWsProxyFactoryBean factory = new
>>> JaxWsProxyFactoryBean();
>>>                               factory.getInInterceptors().add(new
>>> LoggingInInterceptor());
>>>                               factory.getOutInterceptors().add(new
>>> LoggingOutInterceptor());
>>>
>>> factory.setServiceClass(ConnectorService.class);
>>>                                                                log.info("Service
>>> endpoint : " + connector.getServiceUrl() );
>>>
>>>  factory.setAddress(connector.getServiceUrl());
>>>                                                      factory.setWsdlURL("
>>> http://localhost:8080/idm-connector-ws/ExampleConnectorService?wsdl");
>>>                                ConnectorService port = (ConnectorService)
>>> factory.create();
>>>
>>>
>>> Exception:
>>>
>>> WARNING: Application has thrown exception, unwinding now
>>> org.apache.cxf.interceptor.Fault: Port {
>>> http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort<http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>not found.
>>>       at
>>> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:148)
>>>
>>>       at
>>> org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:83)
>>>
>>>       at
>>> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:114)
>>>
>>>       at
>>> org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:55)
>>>       at
>>> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker
>>> .java:68)
>>>
>>> Caused by:
>>>
>>> Caused by: javax.xml.ws.WebServiceException: Port {
>>> http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort<http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>not found.
>>>       at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:311)
>>>       at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:302)
>>>       at javax.xml.ws.Service.getPort(Service.java:92)
>>>       at
>>> org.openiam.provision.service.ProvisionServiceImpl.addUser(ProvisionServiceImpl.java:224)
>>>
>>>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>       at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>
>>>
>>>  WSDL:
>>>      
>> <?xml version="1.0" encoding="UTF-8" ?>
>> - <#> <wsdl:definitions xmlns:ns1="*
>> http://cxf.apache.org/bindings/xformat*" xmlns:soap="*
>> http://schemas.xmlsoap.org/wsdl/soap/*" xmlns:tns="*
>> http://www.openiam.org/service/connector*" xmlns:wsdl="*
>> http://schemas.xmlsoap.org/wsdl/*" xmlns:xsd="*
>> http://www.w3.org/2001/XMLSchema*" name="*ExampleConnectorService*"
>> targetNamespace="*http://www.openiam.org/service/connector*">
>> - <#> <wsdl:types>
>> - <#> <xs:schema attributeFormDefault="*unqualified*"
>> elementFormDefault="*qualified*" targetNamespace="*
>> http://www.openiam.org/service/connector*" xmlns:tns="*
>> http://www.openiam.org/service/connector*" xmlns:xs="*
>> http://www.w3.org/2001/XMLSchema*">
>>  <xs:element name="*addRequest*" type="*tns:AddRequestType*" />
>>  <xs:element name="*addResponse*" type="*tns:AddResponseType*" />
>>  <xs:element name="*deleteRequest*" type="*tns:DeleteRequestType*" />
>>  <xs:element name="*deleteResponse*" type="*tns:ResponseType*" />
>>  <xs:element name="*expirePasswordRequest*"
>> type="*tns:ExpirePasswordRequestType*" />
>>  <xs:element name="*expirePasswordResponse*" type="*tns:ResponseType*" />
>>  <xs:element name="*extensibleUser*" type="*tns:ExtensibleUser*" />
>>  <xs:element name="*listTargetsRequest*"
>> type="*tns:ListTargetsRequestType*" />
>>  <xs:element name="*listTargetsResponse*"
>> type="*tns:ListTargetsResponseType*" />
>>  <xs:element name="*lookupRequest*" type="*tns:LookupRequestType*" />
>>  <xs:element name="*lookupResponse*" type="*tns:LookupResponseType*" />
>>  <xs:element name="*modifyRequest*" type="*tns:ModifyRequestType*" />
>>  <xs:element name="*modifyResponse*" type="*tns:ModifyResponseType*" />
>>  <xs:element name="*resetPasswordRequest*"
>> type="*tns:ResetPasswordRequestType*" />
>>  <xs:element name="*resetPasswordResponse*"
>> type="*tns:ResetPasswordResponseType*" />
>>  <xs:element name="*select*" type="*tns:SelectionType*" />
>>  <xs:element name="*setPasswordRequest*"
>> type="*tns:SetPasswordRequestType*" />
>>  <xs:element name="*setPasswordResponse*" type="*tns:ResponseType*" />
>>  <xs:element name="*validatePasswordRequest*"
>> type="*tns:ValidatePasswordRequestType*" />
>>  <xs:element name="*validatePasswordResponse*"
>> type="*tns:ValidatePasswordResponseType*" />
>> - <#> <xs:complexType name="*ExtensibleType*">
>> - <#> <xs:sequence>
>>  <xs:any maxOccurs="*unbounded*" minOccurs="*0*" namespace="*##other*"
>> processContents="*lax*" />
>>  </xs:sequence>
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:complexType>
>> - <#> <xs:complexType name="*SelectionType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:QueryClauseType*">
>> - <#> <xs:sequence>
>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>> name="*namespacePrefixMap*" nillable="*true*"
>> type="*tns:NamespacePrefixMappingType*" />
>>  </xs:sequence>
>>  <xs:attribute name="*path*" type="*xs:string*" use="*required*" />
>>  <xs:attribute name="*namespaceURI*" type="*xs:string*" use="*required*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*QueryClauseType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>  <xs:sequence />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*NamespacePrefixMappingType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>  <xs:sequence />
>>  <xs:attribute name="*prefix*" type="*xs:string*" use="*required*" />
>>  <xs:attribute name="*namespace*" type="*xs:string*" use="*required*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*AddRequestType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:RequestType*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*psoID*" type="*tns:PSOIdentifierType*"
>> />
>>  <xs:element minOccurs="*0*" name="*containerID*"
>> type="*tns:PSOIdentifierType*" />
>>  <xs:element name="*data*" type="*tns:ExtensibleType*" />
>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>> name="*capabilityData*" nillable="*true*" type="*tns:CapabilityDataType*" />
>>  </xs:sequence>
>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*RequestType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>  <xs:sequence />
>>  <xs:attribute name="*requestID*" type="*xs:ID*" />
>>  <xs:attribute name="*executionMode*" type="*tns:ExecutionModeType*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*PSOIdentifierType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:IdentifierType*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*containerID*"
>> type="*tns:PSOIdentifierType*" />
>>  </xs:sequence>
>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*IdentifierType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>  <xs:sequence />
>>  <xs:attribute name="*ID*" type="*xs:string*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*CapabilityDataType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>  <xs:sequence />
>>  <xs:attribute name="*mustUnderstand*" type="*xs:boolean*" />
>>  <xs:attribute name="*capabilityURI*" type="*xs:anyURI*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*LookupRequestType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:RequestType*">
>> - <#> <xs:sequence>
>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>  </xs:sequence>
>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*ListTargetsRequestType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:RequestType*">
>>  <xs:sequence />
>>  <xs:attribute name="*profile*" type="*xs:anyURI*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*DeleteRequestType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:RequestType*">
>> - <#> <xs:sequence>
>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>  </xs:sequence>
>>  <xs:attribute name="*recursive*" type="*xs:boolean*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*ModifyRequestType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:RequestType*">
>> - <#> <xs:sequence>
>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>  <xs:element maxOccurs="*unbounded*" name="*modification*"
>> type="*tns:ModificationType*" />
>>  </xs:sequence>
>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*ModificationType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ExtensibleType*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*component*" type="*tns:SelectionType*"
>> />
>>  <xs:element minOccurs="*0*" name="*data*" type="*tns:ExtensibleType*" />
>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>> name="*capabilityData*" nillable="*true*" type="*tns:CapabilityDataType*" />
>>  </xs:sequence>
>>  <xs:attribute name="*modificationMode*" type="*tns:ModificationModeType*"
>> />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*CapabilityType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ExtensibleType*">
>> - <#> <xs:sequence>
>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*appliesTo*"
>> nillable="*true*" type="*tns:SchemaEntityRefType*" />
>>  </xs:sequence>
>>  <xs:attribute name="*namespaceURI*" type="*xs:anyURI*" />
>>  <xs:attribute name="*location*" type="*xs:anyURI*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*SchemaEntityRefType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>  <xs:sequence />
>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>  <xs:attribute name="*entityName*" type="*xs:string*" />
>>  <xs:attribute name="*isContainer*" type="*xs:boolean*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*ModifyResponseType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ResponseType*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>  </xs:sequence>
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*ResponseType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ExtensibleType*">
>> - <#> <xs:sequence>
>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*errorMessage*"
>> nillable="*true*" type="*xs:string*" />
>>  </xs:sequence>
>>  <xs:attribute name="*status*" type="*tns:StatusCodeType*" use="*required*"
>> />
>>  <xs:attribute name="*requestID*" type="*xs:ID*" />
>>  <xs:attribute name="*error*" type="*tns:ErrorCode*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*PSOType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ExtensibleType*">
>> - <#> <xs:sequence>
>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>  <xs:element minOccurs="*0*" name="*data*" type="*tns:ExtensibleType*" />
>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>> name="*capabilityData*" nillable="*true*" type="*tns:CapabilityDataType*" />
>>  </xs:sequence>
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*AddResponseType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ResponseType*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>  </xs:sequence>
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*ListTargetsResponseType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ResponseType*">
>> - <#> <xs:sequence>
>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*target*"
>> nillable="*true*" type="*tns:TargetType*" />
>>  </xs:sequence>
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*TargetType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ExtensibleType*">
>> - <#> <xs:sequence>
>>  <xs:element maxOccurs="*unbounded*" name="*schema*"
>> type="*tns:SchemaType*" />
>>  <xs:element minOccurs="*0*" name="*capabilities*"
>> type="*tns:CapabilitiesListType*" />
>>  </xs:sequence>
>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>  <xs:attribute name="*profile*" type="*xs:anyURI*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*SchemaType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ExtensibleType*">
>> - <#> <xs:sequence>
>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>> name="*supportedSchemaEntity*" nillable="*true*"
>> type="*tns:SchemaEntityRefType*" />
>>  </xs:sequence>
>>  <xs:attribute name="*ref*" type="*xs:anyURI*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*CapabilitiesListType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ExtensibleType*">
>> - <#> <xs:sequence>
>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*capability*"
>> nillable="*true*" type="*tns:CapabilityType*" />
>>  </xs:sequence>
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*LookupResponseType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ResponseType*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>  </xs:sequence>
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*ExtensibleUser*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>> - <#> <xs:sequence>
>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*address*"
>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*phone*"
>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*email*"
>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*group*"
>> nillable="*true*" type="*tns:ExtensibleGroup*" />
>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*role*"
>> nillable="*true*" type="*tns:ExtensibleRole*" />
>>  </xs:sequence>
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*ExtensibleObject*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*objectId*" type="*xs:string*" />
>>  <xs:element minOccurs="*0*" name="*name*" type="*xs:string*" />
>>  <xs:element name="*operation*" type="*xs:int*" />
>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*attributes*"
>> nillable="*true*" type="*tns:ExtensibleAttribute*" />
>>  </xs:sequence>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*ExtensibleAttribute*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*name*" type="*xs:string*" />
>>  <xs:element minOccurs="*0*" name="*value*" type="*xs:string*" />
>>  <xs:element name="*operation*" type="*xs:int*" />
>>  </xs:sequence>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*ExtensibleGroup*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>>  <xs:sequence />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*ExtensibleRole*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>>  <xs:sequence />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*ExpirePasswordRequestType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:RequestType*">
>> - <#> <xs:sequence>
>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>  </xs:sequence>
>>  <xs:attribute name="*remainingLogins*" type="*xs:int*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*ValidatePasswordRequestType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:RequestType*">
>> - <#> <xs:sequence>
>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>  <xs:element name="*password*" type="*xs:string*" />
>>  </xs:sequence>
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*ValidatePasswordResponseType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ResponseType*">
>>  <xs:sequence />
>>  <xs:attribute name="*valid*" type="*xs:boolean*" />
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*SetPasswordRequestType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:RequestType*">
>> - <#> <xs:sequence>
>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>  <xs:element name="*password*" type="*xs:string*" />
>>  <xs:element minOccurs="*0*" name="*currentPassword*" type="*xs:string*" />
>>  </xs:sequence>
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*ResetPasswordRequestType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:RequestType*">
>> - <#> <xs:sequence>
>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>  </xs:sequence>
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:complexType name="*ResetPasswordResponseType*">
>> - <#> <xs:complexContent>
>> - <#> <xs:extension base="*tns:ResponseType*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*password*" type="*xs:string*" />
>>  </xs:sequence>
>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>  </xs:extension>
>>  </xs:complexContent>
>>  </xs:complexType>
>> - <#> <xs:simpleType name="*ReturnDataType*">
>> - <#> <xs:restriction base="*xs:string*">
>>  <xs:enumeration value="*identifier*" />
>>  <xs:enumeration value="*data*" />
>>  <xs:enumeration value="*everything*" />
>>  </xs:restriction>
>>  </xs:simpleType>
>> - <#> <xs:simpleType name="*ExecutionModeType*">
>> - <#> <xs:restriction base="*xs:string*">
>>  <xs:enumeration value="*synchronous*" />
>>  <xs:enumeration value="*asynchronous*" />
>>  </xs:restriction>
>>  </xs:simpleType>
>> - <#> <xs:simpleType name="*ModificationModeType*">
>> - <#> <xs:restriction base="*xs:string*">
>>  <xs:enumeration value="*add*" />
>>  <xs:enumeration value="*replace*" />
>>  <xs:enumeration value="*delete*" />
>>  </xs:restriction>
>>  </xs:simpleType>
>> - <#> <xs:simpleType name="*StatusCodeType*">
>> - <#> <xs:restriction base="*xs:string*">
>>  <xs:enumeration value="*success*" />
>>  <xs:enumeration value="*failure*" />
>>  <xs:enumeration value="*pending*" />
>>  </xs:restriction>
>>  </xs:simpleType>
>> - <#> <xs:simpleType name="*ErrorCode*">
>> - <#> <xs:restriction base="*xs:string*">
>>  <xs:enumeration value="*malformedRequest*" />
>>  <xs:enumeration value="*unsupportedOperation*" />
>>  <xs:enumeration value="*unsupportedIdentifierType*" />
>>  <xs:enumeration value="*noSuchIdentifier*" />
>>  <xs:enumeration value="*customError*" />
>>  <xs:enumeration value="*unsupportedExecutionMode*" />
>>  <xs:enumeration value="*invalidContainment*" />
>>  <xs:enumeration value="*noSuchRequest*" />
>>  <xs:enumeration value="*unsupportedSelectionType*" />
>>  <xs:enumeration value="*resultSetToLarge*" />
>>  <xs:enumeration value="*unsupportedProfile*" />
>>  <xs:enumeration value="*invalidIdentifier*" />
>>  <xs:enumeration value="*alreadyExists*" />
>>  <xs:enumeration value="*containerNotEmpty*" />
>>  </xs:restriction>
>>  </xs:simpleType>
>>  <xs:element name="*add*" type="*tns:add*" />
>> - <#> <xs:complexType name="*add*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*reqType*" type="*tns:AddRequestType*"
>> />
>>  </xs:sequence>
>>  </xs:complexType>
>>  <xs:element name="*testConnection*" type="*tns:testConnection*" />
>> - <#> <xs:complexType name="*testConnection*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*targetID*" type="*xs:string*" />
>>  </xs:sequence>
>>  </xs:complexType>
>>  <xs:element name="*testConnectionResponse*"
>> type="*tns:testConnectionResponse*" />
>> - <#> <xs:complexType name="*testConnectionResponse*">
>> - <#> <xs:sequence>
>>  <xs:element name="*return*" type="*xs:boolean*" />
>>  </xs:sequence>
>>  </xs:complexType>
>>  <xs:element name="*expirePassword*" type="*tns:expirePassword*" />
>> - <#> <xs:complexType name="*expirePassword*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*request*"
>> type="*tns:ExpirePasswordRequestType*" />
>>  </xs:sequence>
>>  </xs:complexType>
>>  <xs:element name="*lookup*" type="*tns:lookup*" />
>> - <#> <xs:complexType name="*lookup*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*reqType*"
>> type="*tns:LookupRequestType*" />
>>  </xs:sequence>
>>  </xs:complexType>
>>  <xs:element name="*delete*" type="*tns:delete*" />
>> - <#> <xs:complexType name="*delete*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*reqType*"
>> type="*tns:DeleteRequestType*" />
>>  </xs:sequence>
>>  </xs:complexType>
>>  <xs:element name="*validatePassword*" type="*tns:validatePassword*" />
>> - <#> <xs:complexType name="*validatePassword*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*request*"
>> type="*tns:ValidatePasswordRequestType*" />
>>  </xs:sequence>
>>  </xs:complexType>
>>  <xs:element name="*modify*" type="*tns:modify*" />
>> - <#> <xs:complexType name="*modify*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*reqType*"
>> type="*tns:ModifyRequestType*" />
>>  </xs:sequence>
>>  </xs:complexType>
>>  <xs:element name="*setPassword*" type="*tns:setPassword*" />
>> - <#> <xs:complexType name="*setPassword*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*request*"
>> type="*tns:SetPasswordRequestType*" />
>>  </xs:sequence>
>>  </xs:complexType>
>>  <xs:element name="*resetPassword*" type="*tns:resetPassword*" />
>> - <#> <xs:complexType name="*resetPassword*">
>> - <#> <xs:sequence>
>>  <xs:element minOccurs="*0*" name="*request*"
>> type="*tns:ResetPasswordRequestType*" />
>>  </xs:sequence>
>>  </xs:complexType>
>>  </xs:schema>
>>  </wsdl:types>
>> - <#> <wsdl:message name="*resetPasswordResponse*">
>>  <wsdl:part name="*parameters*" element="*tns:resetPasswordResponse*" />
>>  </wsdl:message>
>> - <#> <wsdl:message name="*modifyResponse*">
>>  <wsdl:part name="*parameters*" element="*tns:modifyResponse*" />
>>  </wsdl:message>
>> - <#> <wsdl:message name="*delete*">
>>  <wsdl:part name="*parameters*" element="*tns:delete*" />
>>  </wsdl:message>
>> - <#> <wsdl:message name="*setPassword*">
>>  <wsdl:part name="*parameters*" element="*tns:setPassword*" />
>>  </wsdl:message>
>> - <#> <wsdl:message name="*deleteResponse*">
>>  <wsdl:part name="*parameters*" element="*tns:deleteResponse*" />
>>  </wsdl:message>
>> - <#> <wsdl:message name="*setPasswordResponse*">
>>  <wsdl:part name="*parameters*" element="*tns:setPasswordResponse*" />
>>  </wsdl:message>
>> - <#> <wsdl:message name="*validatePasswordResponse*">
>>  <wsdl:part name="*parameters*" element="*tns:validatePasswordResponse*" />
>>  </wsdl:message>
>> - <#> <wsdl:message name="*lookupResponse*">
>>  <wsdl:part name="*parameters*" element="*tns:lookupResponse*" />
>>  </wsdl:message>
>> - <#> <wsdl:message name="*testConnection*">
>>  <wsdl:part name="*parameters*" element="*tns:testConnection*" />
>>  </wsdl:message>
>> - <#> <wsdl:message name="*modify*">
>>  <wsdl:part name="*parameters*" element="*tns:modify*" />
>>  </wsdl:message>
>> - <#> <wsdl:message name="*testConnectionResponse*">
>>  <wsdl:part name="*parameters*" element="*tns:testConnectionResponse*" />
>>  </wsdl:message>
>> - <#> <wsdl:message name="*add*">
>>  <wsdl:part name="*parameters*" element="*tns:add*" />
>>  </wsdl:message>
>> - <#> <wsdl:message name="*expirePasswordResponse*">
>>  <wsdl:part name="*parameters*" element="*tns:expirePasswordResponse*" />
>>  </wsdl:message>
>> - <#> <wsdl:message name="*lookup*">
>>  <wsdl:part name="*parameters*" element="*tns:lookup*" />
>>  </wsdl:message>
>> - <#> <wsdl:message name="*addResponse*">
>>  <wsdl:part name="*parameters*" element="*tns:addResponse*" />
>>  </wsdl:message>
>> - <#> <wsdl:message name="*expirePassword*">
>>  <wsdl:part name="*parameters*" element="*tns:expirePassword*" />
>>  </wsdl:message>
>> - <#> <wsdl:message name="*validatePassword*">
>>  <wsdl:part name="*parameters*" element="*tns:validatePassword*" />
>>  </wsdl:message>
>> - <#> <wsdl:message name="*resetPassword*">
>>  <wsdl:part name="*parameters*" element="*tns:resetPassword*" />
>>  </wsdl:message>
>> - <#> <wsdl:portType name="*ConnectorService*">
>> - <#> <wsdl:operation name="*add*">
>>  <wsdl:input name="*add*" message="*tns:add*" />
>>  <wsdl:output name="*addResponse*" message="*tns:addResponse*" />
>>  </wsdl:operation>
>> - <#> <wsdl:operation name="*testConnection*">
>>  <wsdl:input name="*testConnection*" message="*tns:testConnection*" />
>>  <wsdl:output name="*testConnectionResponse*"
>> message="*tns:testConnectionResponse*" />
>>  </wsdl:operation>
>> - <#> <wsdl:operation name="*expirePassword*">
>>  <wsdl:input name="*expirePassword*" message="*tns:expirePassword*" />
>>  <wsdl:output name="*expirePasswordResponse*"
>> message="*tns:expirePasswordResponse*" />
>>  </wsdl:operation>
>> - <#> <wsdl:operation name="*lookup*">
>>  <wsdl:input name="*lookup*" message="*tns:lookup*" />
>>  <wsdl:output name="*lookupResponse*" message="*tns:lookupResponse*" />
>>  </wsdl:operation>
>> - <#> <wsdl:operation name="*delete*">
>>  <wsdl:input name="*delete*" message="*tns:delete*" />
>>  <wsdl:output name="*deleteResponse*" message="*tns:deleteResponse*" />
>>  </wsdl:operation>
>> - <#> <wsdl:operation name="*validatePassword*">
>>  <wsdl:input name="*validatePassword*" message="*tns:validatePassword*" />
>>  <wsdl:output name="*validatePasswordResponse*"
>> message="*tns:validatePasswordResponse*" />
>>  </wsdl:operation>
>> - <#> <wsdl:operation name="*modify*">
>>  <wsdl:input name="*modify*" message="*tns:modify*" />
>>  <wsdl:output name="*modifyResponse*" message="*tns:modifyResponse*" />
>>  </wsdl:operation>
>> - <#> <wsdl:operation name="*setPassword*">
>>  <wsdl:input name="*setPassword*" message="*tns:setPassword*" />
>>  <wsdl:output name="*setPasswordResponse*"
>> message="*tns:setPasswordResponse*" />
>>  </wsdl:operation>
>> - <#> <wsdl:operation name="*resetPassword*">
>>  <wsdl:input name="*resetPassword*" message="*tns:resetPassword*" />
>>  <wsdl:output name="*resetPasswordResponse*"
>> message="*tns:resetPasswordResponse*" />
>>  </wsdl:operation>
>>  </wsdl:portType>
>> - <#> <wsdl:binding name="*ExampleConnectorServiceSoapBinding*"
>> type="*tns:ConnectorService*">
>>  <soap:binding style="*document*" transport="*
>> http://schemas.xmlsoap.org/soap/http*" />
>> - <#> <wsdl:operation name="*add*">
>>  <soap:operation soapAction="" style="*document*" />
>> - <#> <wsdl:input name="*add*">
>>  <soap:body use="*literal*" />
>>  </wsdl:input>
>> - <#> <wsdl:output name="*addResponse*">
>>  <soap:body use="*literal*" />
>>  </wsdl:output>
>>  </wsdl:operation>
>> - <#> <wsdl:operation name="*testConnection*">
>>  <soap:operation soapAction="" style="*document*" />
>> - <#> <wsdl:input name="*testConnection*">
>>  <soap:body use="*literal*" />
>>  </wsdl:input>
>> - <#> <wsdl:output name="*testConnectionResponse*">
>>  <soap:body use="*literal*" />
>>  </wsdl:output>
>>  </wsdl:operation>
>> - <#> <wsdl:operation name="*expirePassword*">
>>  <soap:operation soapAction="" style="*document*" />
>> - <#> <wsdl:input name="*expirePassword*">
>>  <soap:body use="*literal*" />
>>  </wsdl:input>
>> - <#> <wsdl:output name="*expirePasswordResponse*">
>>  <soap:body use="*literal*" />
>>  </wsdl:output>
>>  </wsdl:operation>
>> - <#> <wsdl:operation name="*lookup*">
>>  <soap:operation soapAction="" style="*document*" />
>> - <#> <wsdl:input name="*lookup*">
>>  <soap:body use="*literal*" />
>>  </wsdl:input>
>> - <#> <wsdl:output name="*lookupResponse*">
>>  <soap:body use="*literal*" />
>>  </wsdl:output>
>>  </wsdl:operation>
>> - <#> <wsdl:operation name="*delete*">
>>  <soap:operation soapAction="" style="*document*" />
>> - <#> <wsdl:input name="*delete*">
>>  <soap:body use="*literal*" />
>>  </wsdl:input>
>> - <#> <wsdl:output name="*deleteResponse*">
>>  <soap:body use="*literal*" />
>>  </wsdl:output>
>>  </wsdl:operation>
>> - <#> <wsdl:operation name="*validatePassword*">
>>  <soap:operation soapAction="" style="*document*" />
>> - <#> <wsdl:input name="*validatePassword*">
>>  <soap:body use="*literal*" />
>>  </wsdl:input>
>> - <#> <wsdl:output name="*validatePasswordResponse*">
>>  <soap:body use="*literal*" />
>>  </wsdl:output>
>>  </wsdl:operation>
>> - <#> <wsdl:operation name="*modify*">
>>  <soap:operation soapAction="" style="*document*" />
>> - <#> <wsdl:input name="*modify*">
>>  <soap:body use="*literal*" />
>>  </wsdl:input>
>> - <#> <wsdl:output name="*modifyResponse*">
>>  <soap:body use="*literal*" />
>>  </wsdl:output>
>>  </wsdl:operation>
>> - <#> <wsdl:operation name="*setPassword*">
>>  <soap:operation soapAction="" style="*document*" />
>> - <#> <wsdl:input name="*setPassword*">
>>  <soap:body use="*literal*" />
>>  </wsdl:input>
>> - <#> <wsdl:output name="*setPasswordResponse*">
>>  <soap:body use="*literal*" />
>>  </wsdl:output>
>>  </wsdl:operation>
>> - <#> <wsdl:operation name="*resetPassword*">
>>  <soap:operation soapAction="" style="*document*" />
>> - <#> <wsdl:input name="*resetPassword*">
>>  <soap:body use="*literal*" />
>>  </wsdl:input>
>> - <#> <wsdl:output name="*resetPasswordResponse*">
>>  <soap:body use="*literal*" />
>>  </wsdl:output>
>>  </wsdl:operation>
>>  </wsdl:binding>
>> - <#> <wsdl:service name="*ExampleConnectorService*">
>> - <#> <wsdl:port name="*ExampleConnectorServicePort*"
>> binding="*tns:ExampleConnectorServiceSoapBinding*">
>>  <soap:address location="*
>> http://localhost:8080/idm-connector-ws/ExampleConnectorService*" />
>>  </wsdl:port>
>>  </wsdl:service>
>>  </wsdl:definitions>
>>
>>
>>    
>
>  

Re: Problem Creating JAXWS Client

by bimargulies :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

The port is defined as {http://www.openiam.org/service/connector}
ExampleConnectorServicePort<http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>but
you are somehow trying to use a QName with a URL on localhost to
reference it.

On Sat, Nov 7, 2009 at 8:17 PM, Suneet Shah <suneetshah2000@...>wrote:

> Thanks Benson.
>
>
> Benson Margulies wrote:
>
>> Attachments don't work on this list. Open a JIRA if you need to give us
>> one.
>>
>>
>> On Sat, Nov 7, 2009 at 8:14 PM, Suneet Shah <suneetshah2000@...
>> >wrote:
>>
>>
>>
>>> Hello:
>>>
>>>
>>>
>>>> I am trying to create a client to consume a service that I built using
>>>> CXF. However, I am running into the exception below where it can't find
>>>> the
>>>> Port. I have attached my wsdl.
>>>>
>>>> I have tried two different ways to build the client. One is based on the
>>>> code that I saw from wsdl2java and the other using jaxwsfactor.y.
>>>>
>>>> If I leave out the wsdl location, I get serialization errors.
>>>>
>>>> Thanks for your help
>>>> Suneet
>>>>
>>>>                   Service service =
>>>> Service.create(QName.valueOf(connector.getServiceUrl()));
>>>>                   ConnectorService port = service.getPort(new QName("
>>>> http://localhost:8080/idm-connector-ws",
>>>> "ExampleConnectorServicePort"),
>>>> ConnectorService.class);
>>>>
>>>>
>>>>                                             AddRequestType addReqType =
>>>> new
>>>> AddRequestType();
>>>>                              PSOIdentifierType idType = new
>>>> PSOIdentifierType(lg.getId().getLogin(),null, "target");
>>>>                              addReqType.setPsoID(idType);
>>>>                              addReqType.setRequestID("R4589");
>>>>
>>>> addReqType.setTargetID(lg.getId().getManagedSysId());
>>>>
>>>> ExtensibleUser extUser = new ExtensibleUser();
>>>>                              extUser.setName(user.getFirstName() + " " +
>>>> user.getLastName());
>>>>                              extUser.getAttributes().add(new
>>>> ExtensibleAttribute("cn",user.getFirstName() + " " +
>>>> user.getLastName()));
>>>>
>>>>                              addReqType.getData().getAny().add(extUser);
>>>>                              port.add(addReqType);
>>>>
>>>> alternative JAXWS Code:
>>>>
>>>>                              JaxWsProxyFactoryBean factory = new
>>>> JaxWsProxyFactoryBean();
>>>>                              factory.getInInterceptors().add(new
>>>> LoggingInInterceptor());
>>>>                              factory.getOutInterceptors().add(new
>>>> LoggingOutInterceptor());
>>>>
>>>> factory.setServiceClass(ConnectorService.class);
>>>>                                                               log.info
>>>> ("Service
>>>> endpoint : " + connector.getServiceUrl() );
>>>>
>>>>  factory.setAddress(connector.getServiceUrl());
>>>>                                                     factory.setWsdlURL("
>>>> http://localhost:8080/idm-connector-ws/ExampleConnectorService?wsdl");
>>>>                               ConnectorService port = (ConnectorService)
>>>> factory.create();
>>>>
>>>>
>>>> Exception:
>>>>
>>>> WARNING: Application has thrown exception, unwinding now
>>>> org.apache.cxf.interceptor.Fault: Port {
>>>> http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort<http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>
>>>> <http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>not
>>>> found.
>>>>
>>>>      at
>>>>
>>>> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:148)
>>>>
>>>>      at
>>>>
>>>> org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:83)
>>>>
>>>>      at
>>>>
>>>> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:114)
>>>>
>>>>      at
>>>>
>>>> org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:55)
>>>>      at
>>>> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker
>>>> .java:68)
>>>>
>>>> Caused by:
>>>>
>>>> Caused by: javax.xml.ws.WebServiceException: Port {
>>>> http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort<http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>
>>>> <http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>not
>>>> found.
>>>>
>>>>      at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:311)
>>>>      at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:302)
>>>>      at javax.xml.ws.Service.getPort(Service.java:92)
>>>>      at
>>>>
>>>> org.openiam.provision.service.ProvisionServiceImpl.addUser(ProvisionServiceImpl.java:224)
>>>>
>>>>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>      at
>>>>
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>
>>>>
>>>>  WSDL:
>>>>
>>>>
>>> <?xml version="1.0" encoding="UTF-8" ?>
>>> - <#> <wsdl:definitions xmlns:ns1="*
>>> http://cxf.apache.org/bindings/xformat*" xmlns:soap="*
>>> http://schemas.xmlsoap.org/wsdl/soap/*" xmlns:tns="*
>>> http://www.openiam.org/service/connector*" xmlns:wsdl="*
>>> http://schemas.xmlsoap.org/wsdl/*" xmlns:xsd="*
>>> http://www.w3.org/2001/XMLSchema*" name="*ExampleConnectorService*"
>>> targetNamespace="*http://www.openiam.org/service/connector*">
>>> - <#> <wsdl:types>
>>> - <#> <xs:schema attributeFormDefault="*unqualified*"
>>> elementFormDefault="*qualified*" targetNamespace="*
>>> http://www.openiam.org/service/connector*" xmlns:tns="*
>>> http://www.openiam.org/service/connector*" xmlns:xs="*
>>> http://www.w3.org/2001/XMLSchema*">
>>>  <xs:element name="*addRequest*" type="*tns:AddRequestType*" />
>>>  <xs:element name="*addResponse*" type="*tns:AddResponseType*" />
>>>  <xs:element name="*deleteRequest*" type="*tns:DeleteRequestType*" />
>>>  <xs:element name="*deleteResponse*" type="*tns:ResponseType*" />
>>>  <xs:element name="*expirePasswordRequest*"
>>> type="*tns:ExpirePasswordRequestType*" />
>>>  <xs:element name="*expirePasswordResponse*" type="*tns:ResponseType*" />
>>>  <xs:element name="*extensibleUser*" type="*tns:ExtensibleUser*" />
>>>  <xs:element name="*listTargetsRequest*"
>>> type="*tns:ListTargetsRequestType*" />
>>>  <xs:element name="*listTargetsResponse*"
>>> type="*tns:ListTargetsResponseType*" />
>>>  <xs:element name="*lookupRequest*" type="*tns:LookupRequestType*" />
>>>  <xs:element name="*lookupResponse*" type="*tns:LookupResponseType*" />
>>>  <xs:element name="*modifyRequest*" type="*tns:ModifyRequestType*" />
>>>  <xs:element name="*modifyResponse*" type="*tns:ModifyResponseType*" />
>>>  <xs:element name="*resetPasswordRequest*"
>>> type="*tns:ResetPasswordRequestType*" />
>>>  <xs:element name="*resetPasswordResponse*"
>>> type="*tns:ResetPasswordResponseType*" />
>>>  <xs:element name="*select*" type="*tns:SelectionType*" />
>>>  <xs:element name="*setPasswordRequest*"
>>> type="*tns:SetPasswordRequestType*" />
>>>  <xs:element name="*setPasswordResponse*" type="*tns:ResponseType*" />
>>>  <xs:element name="*validatePasswordRequest*"
>>> type="*tns:ValidatePasswordRequestType*" />
>>>  <xs:element name="*validatePasswordResponse*"
>>> type="*tns:ValidatePasswordResponseType*" />
>>> - <#> <xs:complexType name="*ExtensibleType*">
>>> - <#> <xs:sequence>
>>>  <xs:any maxOccurs="*unbounded*" minOccurs="*0*" namespace="*##other*"
>>> processContents="*lax*" />
>>>  </xs:sequence>
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*SelectionType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:QueryClauseType*">
>>> - <#> <xs:sequence>
>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>> name="*namespacePrefixMap*" nillable="*true*"
>>> type="*tns:NamespacePrefixMappingType*" />
>>>  </xs:sequence>
>>>  <xs:attribute name="*path*" type="*xs:string*" use="*required*" />
>>>  <xs:attribute name="*namespaceURI*" type="*xs:string*" use="*required*"
>>> />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*QueryClauseType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>  <xs:sequence />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*NamespacePrefixMappingType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>  <xs:sequence />
>>>  <xs:attribute name="*prefix*" type="*xs:string*" use="*required*" />
>>>  <xs:attribute name="*namespace*" type="*xs:string*" use="*required*" />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*AddRequestType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:RequestType*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*psoID*"
>>> type="*tns:PSOIdentifierType*"
>>> />
>>>  <xs:element minOccurs="*0*" name="*containerID*"
>>> type="*tns:PSOIdentifierType*" />
>>>  <xs:element name="*data*" type="*tns:ExtensibleType*" />
>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>> name="*capabilityData*" nillable="*true*" type="*tns:CapabilityDataType*"
>>> />
>>>  </xs:sequence>
>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*RequestType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>  <xs:sequence />
>>>  <xs:attribute name="*requestID*" type="*xs:ID*" />
>>>  <xs:attribute name="*executionMode*" type="*tns:ExecutionModeType*" />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*PSOIdentifierType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:IdentifierType*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*containerID*"
>>> type="*tns:PSOIdentifierType*" />
>>>  </xs:sequence>
>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*IdentifierType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>  <xs:sequence />
>>>  <xs:attribute name="*ID*" type="*xs:string*" />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*CapabilityDataType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>  <xs:sequence />
>>>  <xs:attribute name="*mustUnderstand*" type="*xs:boolean*" />
>>>  <xs:attribute name="*capabilityURI*" type="*xs:anyURI*" />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*LookupRequestType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:RequestType*">
>>> - <#> <xs:sequence>
>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>  </xs:sequence>
>>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*ListTargetsRequestType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:RequestType*">
>>>  <xs:sequence />
>>>  <xs:attribute name="*profile*" type="*xs:anyURI*" />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*DeleteRequestType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:RequestType*">
>>> - <#> <xs:sequence>
>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>  </xs:sequence>
>>>  <xs:attribute name="*recursive*" type="*xs:boolean*" />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*ModifyRequestType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:RequestType*">
>>> - <#> <xs:sequence>
>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>  <xs:element maxOccurs="*unbounded*" name="*modification*"
>>> type="*tns:ModificationType*" />
>>>  </xs:sequence>
>>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*ModificationType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*component*"
>>> type="*tns:SelectionType*"
>>> />
>>>  <xs:element minOccurs="*0*" name="*data*" type="*tns:ExtensibleType*" />
>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>> name="*capabilityData*" nillable="*true*" type="*tns:CapabilityDataType*"
>>> />
>>>  </xs:sequence>
>>>  <xs:attribute name="*modificationMode*"
>>> type="*tns:ModificationModeType*"
>>> />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*CapabilityType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>> - <#> <xs:sequence>
>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*appliesTo*"
>>> nillable="*true*" type="*tns:SchemaEntityRefType*" />
>>>  </xs:sequence>
>>>  <xs:attribute name="*namespaceURI*" type="*xs:anyURI*" />
>>>  <xs:attribute name="*location*" type="*xs:anyURI*" />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*SchemaEntityRefType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>  <xs:sequence />
>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>  <xs:attribute name="*entityName*" type="*xs:string*" />
>>>  <xs:attribute name="*isContainer*" type="*xs:boolean*" />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*ModifyResponseType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ResponseType*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>>  </xs:sequence>
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*ResponseType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>> - <#> <xs:sequence>
>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>> name="*errorMessage*"
>>> nillable="*true*" type="*xs:string*" />
>>>  </xs:sequence>
>>>  <xs:attribute name="*status*" type="*tns:StatusCodeType*"
>>> use="*required*"
>>> />
>>>  <xs:attribute name="*requestID*" type="*xs:ID*" />
>>>  <xs:attribute name="*error*" type="*tns:ErrorCode*" />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*PSOType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>> - <#> <xs:sequence>
>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>  <xs:element minOccurs="*0*" name="*data*" type="*tns:ExtensibleType*" />
>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>> name="*capabilityData*" nillable="*true*" type="*tns:CapabilityDataType*"
>>> />
>>>  </xs:sequence>
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*AddResponseType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ResponseType*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>>  </xs:sequence>
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*ListTargetsResponseType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ResponseType*">
>>> - <#> <xs:sequence>
>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*target*"
>>> nillable="*true*" type="*tns:TargetType*" />
>>>  </xs:sequence>
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*TargetType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>> - <#> <xs:sequence>
>>>  <xs:element maxOccurs="*unbounded*" name="*schema*"
>>> type="*tns:SchemaType*" />
>>>  <xs:element minOccurs="*0*" name="*capabilities*"
>>> type="*tns:CapabilitiesListType*" />
>>>  </xs:sequence>
>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>  <xs:attribute name="*profile*" type="*xs:anyURI*" />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*SchemaType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>> - <#> <xs:sequence>
>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>> name="*supportedSchemaEntity*" nillable="*true*"
>>> type="*tns:SchemaEntityRefType*" />
>>>  </xs:sequence>
>>>  <xs:attribute name="*ref*" type="*xs:anyURI*" />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*CapabilitiesListType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>> - <#> <xs:sequence>
>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*capability*"
>>> nillable="*true*" type="*tns:CapabilityType*" />
>>>  </xs:sequence>
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*LookupResponseType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ResponseType*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>>  </xs:sequence>
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*ExtensibleUser*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>>> - <#> <xs:sequence>
>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*address*"
>>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*phone*"
>>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*email*"
>>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*group*"
>>> nillable="*true*" type="*tns:ExtensibleGroup*" />
>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*role*"
>>> nillable="*true*" type="*tns:ExtensibleRole*" />
>>>  </xs:sequence>
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*ExtensibleObject*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*objectId*" type="*xs:string*" />
>>>  <xs:element minOccurs="*0*" name="*name*" type="*xs:string*" />
>>>  <xs:element name="*operation*" type="*xs:int*" />
>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*attributes*"
>>> nillable="*true*" type="*tns:ExtensibleAttribute*" />
>>>  </xs:sequence>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*ExtensibleAttribute*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*name*" type="*xs:string*" />
>>>  <xs:element minOccurs="*0*" name="*value*" type="*xs:string*" />
>>>  <xs:element name="*operation*" type="*xs:int*" />
>>>  </xs:sequence>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*ExtensibleGroup*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>>>  <xs:sequence />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*ExtensibleRole*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>>>  <xs:sequence />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*ExpirePasswordRequestType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:RequestType*">
>>> - <#> <xs:sequence>
>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>  </xs:sequence>
>>>  <xs:attribute name="*remainingLogins*" type="*xs:int*" />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*ValidatePasswordRequestType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:RequestType*">
>>> - <#> <xs:sequence>
>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>  <xs:element name="*password*" type="*xs:string*" />
>>>  </xs:sequence>
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*ValidatePasswordResponseType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>  <xs:sequence />
>>>  <xs:attribute name="*valid*" type="*xs:boolean*" />
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*SetPasswordRequestType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:RequestType*">
>>> - <#> <xs:sequence>
>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>  <xs:element name="*password*" type="*xs:string*" />
>>>  <xs:element minOccurs="*0*" name="*currentPassword*" type="*xs:string*"
>>> />
>>>  </xs:sequence>
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*ResetPasswordRequestType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:RequestType*">
>>> - <#> <xs:sequence>
>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>  </xs:sequence>
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:complexType name="*ResetPasswordResponseType*">
>>> - <#> <xs:complexContent>
>>> - <#> <xs:extension base="*tns:ResponseType*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*password*" type="*xs:string*" />
>>>  </xs:sequence>
>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>  </xs:extension>
>>>  </xs:complexContent>
>>>  </xs:complexType>
>>> - <#> <xs:simpleType name="*ReturnDataType*">
>>> - <#> <xs:restriction base="*xs:string*">
>>>  <xs:enumeration value="*identifier*" />
>>>  <xs:enumeration value="*data*" />
>>>  <xs:enumeration value="*everything*" />
>>>  </xs:restriction>
>>>  </xs:simpleType>
>>> - <#> <xs:simpleType name="*ExecutionModeType*">
>>> - <#> <xs:restriction base="*xs:string*">
>>>  <xs:enumeration value="*synchronous*" />
>>>  <xs:enumeration value="*asynchronous*" />
>>>  </xs:restriction>
>>>  </xs:simpleType>
>>> - <#> <xs:simpleType name="*ModificationModeType*">
>>> - <#> <xs:restriction base="*xs:string*">
>>>  <xs:enumeration value="*add*" />
>>>  <xs:enumeration value="*replace*" />
>>>  <xs:enumeration value="*delete*" />
>>>  </xs:restriction>
>>>  </xs:simpleType>
>>> - <#> <xs:simpleType name="*StatusCodeType*">
>>> - <#> <xs:restriction base="*xs:string*">
>>>  <xs:enumeration value="*success*" />
>>>  <xs:enumeration value="*failure*" />
>>>  <xs:enumeration value="*pending*" />
>>>  </xs:restriction>
>>>  </xs:simpleType>
>>> - <#> <xs:simpleType name="*ErrorCode*">
>>> - <#> <xs:restriction base="*xs:string*">
>>>  <xs:enumeration value="*malformedRequest*" />
>>>  <xs:enumeration value="*unsupportedOperation*" />
>>>  <xs:enumeration value="*unsupportedIdentifierType*" />
>>>  <xs:enumeration value="*noSuchIdentifier*" />
>>>  <xs:enumeration value="*customError*" />
>>>  <xs:enumeration value="*unsupportedExecutionMode*" />
>>>  <xs:enumeration value="*invalidContainment*" />
>>>  <xs:enumeration value="*noSuchRequest*" />
>>>  <xs:enumeration value="*unsupportedSelectionType*" />
>>>  <xs:enumeration value="*resultSetToLarge*" />
>>>  <xs:enumeration value="*unsupportedProfile*" />
>>>  <xs:enumeration value="*invalidIdentifier*" />
>>>  <xs:enumeration value="*alreadyExists*" />
>>>  <xs:enumeration value="*containerNotEmpty*" />
>>>  </xs:restriction>
>>>  </xs:simpleType>
>>>  <xs:element name="*add*" type="*tns:add*" />
>>> - <#> <xs:complexType name="*add*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*reqType*" type="*tns:AddRequestType*"
>>> />
>>>  </xs:sequence>
>>>  </xs:complexType>
>>>  <xs:element name="*testConnection*" type="*tns:testConnection*" />
>>> - <#> <xs:complexType name="*testConnection*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*targetID*" type="*xs:string*" />
>>>  </xs:sequence>
>>>  </xs:complexType>
>>>  <xs:element name="*testConnectionResponse*"
>>> type="*tns:testConnectionResponse*" />
>>> - <#> <xs:complexType name="*testConnectionResponse*">
>>> - <#> <xs:sequence>
>>>  <xs:element name="*return*" type="*xs:boolean*" />
>>>  </xs:sequence>
>>>  </xs:complexType>
>>>  <xs:element name="*expirePassword*" type="*tns:expirePassword*" />
>>> - <#> <xs:complexType name="*expirePassword*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*request*"
>>> type="*tns:ExpirePasswordRequestType*" />
>>>  </xs:sequence>
>>>  </xs:complexType>
>>>  <xs:element name="*lookup*" type="*tns:lookup*" />
>>> - <#> <xs:complexType name="*lookup*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>> type="*tns:LookupRequestType*" />
>>>  </xs:sequence>
>>>  </xs:complexType>
>>>  <xs:element name="*delete*" type="*tns:delete*" />
>>> - <#> <xs:complexType name="*delete*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>> type="*tns:DeleteRequestType*" />
>>>  </xs:sequence>
>>>  </xs:complexType>
>>>  <xs:element name="*validatePassword*" type="*tns:validatePassword*" />
>>> - <#> <xs:complexType name="*validatePassword*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*request*"
>>> type="*tns:ValidatePasswordRequestType*" />
>>>  </xs:sequence>
>>>  </xs:complexType>
>>>  <xs:element name="*modify*" type="*tns:modify*" />
>>> - <#> <xs:complexType name="*modify*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>> type="*tns:ModifyRequestType*" />
>>>  </xs:sequence>
>>>  </xs:complexType>
>>>  <xs:element name="*setPassword*" type="*tns:setPassword*" />
>>> - <#> <xs:complexType name="*setPassword*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*request*"
>>> type="*tns:SetPasswordRequestType*" />
>>>  </xs:sequence>
>>>  </xs:complexType>
>>>  <xs:element name="*resetPassword*" type="*tns:resetPassword*" />
>>> - <#> <xs:complexType name="*resetPassword*">
>>> - <#> <xs:sequence>
>>>  <xs:element minOccurs="*0*" name="*request*"
>>> type="*tns:ResetPasswordRequestType*" />
>>>  </xs:sequence>
>>>  </xs:complexType>
>>>  </xs:schema>
>>>  </wsdl:types>
>>> - <#> <wsdl:message name="*resetPasswordResponse*">
>>>  <wsdl:part name="*parameters*" element="*tns:resetPasswordResponse*" />
>>>  </wsdl:message>
>>> - <#> <wsdl:message name="*modifyResponse*">
>>>  <wsdl:part name="*parameters*" element="*tns:modifyResponse*" />
>>>  </wsdl:message>
>>> - <#> <wsdl:message name="*delete*">
>>>  <wsdl:part name="*parameters*" element="*tns:delete*" />
>>>  </wsdl:message>
>>> - <#> <wsdl:message name="*setPassword*">
>>>  <wsdl:part name="*parameters*" element="*tns:setPassword*" />
>>>  </wsdl:message>
>>> - <#> <wsdl:message name="*deleteResponse*">
>>>  <wsdl:part name="*parameters*" element="*tns:deleteResponse*" />
>>>  </wsdl:message>
>>> - <#> <wsdl:message name="*setPasswordResponse*">
>>>  <wsdl:part name="*parameters*" element="*tns:setPasswordResponse*" />
>>>  </wsdl:message>
>>> - <#> <wsdl:message name="*validatePasswordResponse*">
>>>  <wsdl:part name="*parameters*" element="*tns:validatePasswordResponse*"
>>> />
>>>  </wsdl:message>
>>> - <#> <wsdl:message name="*lookupResponse*">
>>>  <wsdl:part name="*parameters*" element="*tns:lookupResponse*" />
>>>  </wsdl:message>
>>> - <#> <wsdl:message name="*testConnection*">
>>>  <wsdl:part name="*parameters*" element="*tns:testConnection*" />
>>>  </wsdl:message>
>>> - <#> <wsdl:message name="*modify*">
>>>  <wsdl:part name="*parameters*" element="*tns:modify*" />
>>>  </wsdl:message>
>>> - <#> <wsdl:message name="*testConnectionResponse*">
>>>  <wsdl:part name="*parameters*" element="*tns:testConnectionResponse*" />
>>>  </wsdl:message>
>>> - <#> <wsdl:message name="*add*">
>>>  <wsdl:part name="*parameters*" element="*tns:add*" />
>>>  </wsdl:message>
>>> - <#> <wsdl:message name="*expirePasswordResponse*">
>>>  <wsdl:part name="*parameters*" element="*tns:expirePasswordResponse*" />
>>>  </wsdl:message>
>>> - <#> <wsdl:message name="*lookup*">
>>>  <wsdl:part name="*parameters*" element="*tns:lookup*" />
>>>  </wsdl:message>
>>> - <#> <wsdl:message name="*addResponse*">
>>>  <wsdl:part name="*parameters*" element="*tns:addResponse*" />
>>>  </wsdl:message>
>>> - <#> <wsdl:message name="*expirePassword*">
>>>  <wsdl:part name="*parameters*" element="*tns:expirePassword*" />
>>>  </wsdl:message>
>>> - <#> <wsdl:message name="*validatePassword*">
>>>  <wsdl:part name="*parameters*" element="*tns:validatePassword*" />
>>>  </wsdl:message>
>>> - <#> <wsdl:message name="*resetPassword*">
>>>  <wsdl:part name="*parameters*" element="*tns:resetPassword*" />
>>>  </wsdl:message>
>>> - <#> <wsdl:portType name="*ConnectorService*">
>>> - <#> <wsdl:operation name="*add*">
>>>  <wsdl:input name="*add*" message="*tns:add*" />
>>>  <wsdl:output name="*addResponse*" message="*tns:addResponse*" />
>>>  </wsdl:operation>
>>> - <#> <wsdl:operation name="*testConnection*">
>>>  <wsdl:input name="*testConnection*" message="*tns:testConnection*" />
>>>  <wsdl:output name="*testConnectionResponse*"
>>> message="*tns:testConnectionResponse*" />
>>>  </wsdl:operation>
>>> - <#> <wsdl:operation name="*expirePassword*">
>>>  <wsdl:input name="*expirePassword*" message="*tns:expirePassword*" />
>>>  <wsdl:output name="*expirePasswordResponse*"
>>> message="*tns:expirePasswordResponse*" />
>>>  </wsdl:operation>
>>> - <#> <wsdl:operation name="*lookup*">
>>>  <wsdl:input name="*lookup*" message="*tns:lookup*" />
>>>  <wsdl:output name="*lookupResponse*" message="*tns:lookupResponse*" />
>>>  </wsdl:operation>
>>> - <#> <wsdl:operation name="*delete*">
>>>  <wsdl:input name="*delete*" message="*tns:delete*" />
>>>  <wsdl:output name="*deleteResponse*" message="*tns:deleteResponse*" />
>>>  </wsdl:operation>
>>> - <#> <wsdl:operation name="*validatePassword*">
>>>  <wsdl:input name="*validatePassword*" message="*tns:validatePassword*"
>>> />
>>>  <wsdl:output name="*validatePasswordResponse*"
>>> message="*tns:validatePasswordResponse*" />
>>>  </wsdl:operation>
>>> - <#> <wsdl:operation name="*modify*">
>>>  <wsdl:input name="*modify*" message="*tns:modify*" />
>>>  <wsdl:output name="*modifyResponse*" message="*tns:modifyResponse*" />
>>>  </wsdl:operation>
>>> - <#> <wsdl:operation name="*setPassword*">
>>>  <wsdl:input name="*setPassword*" message="*tns:setPassword*" />
>>>  <wsdl:output name="*setPasswordResponse*"
>>> message="*tns:setPasswordResponse*" />
>>>  </wsdl:operation>
>>> - <#> <wsdl:operation name="*resetPassword*">
>>>  <wsdl:input name="*resetPassword*" message="*tns:resetPassword*" />
>>>  <wsdl:output name="*resetPasswordResponse*"
>>> message="*tns:resetPasswordResponse*" />
>>>  </wsdl:operation>
>>>  </wsdl:portType>
>>> - <#> <wsdl:binding name="*ExampleConnectorServiceSoapBinding*"
>>> type="*tns:ConnectorService*">
>>>  <soap:binding style="*document*" transport="*
>>> http://schemas.xmlsoap.org/soap/http*" />
>>> - <#> <wsdl:operation name="*add*">
>>>  <soap:operation soapAction="" style="*document*" />
>>> - <#> <wsdl:input name="*add*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:input>
>>> - <#> <wsdl:output name="*addResponse*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:output>
>>>  </wsdl:operation>
>>> - <#> <wsdl:operation name="*testConnection*">
>>>  <soap:operation soapAction="" style="*document*" />
>>> - <#> <wsdl:input name="*testConnection*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:input>
>>> - <#> <wsdl:output name="*testConnectionResponse*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:output>
>>>  </wsdl:operation>
>>> - <#> <wsdl:operation name="*expirePassword*">
>>>  <soap:operation soapAction="" style="*document*" />
>>> - <#> <wsdl:input name="*expirePassword*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:input>
>>> - <#> <wsdl:output name="*expirePasswordResponse*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:output>
>>>  </wsdl:operation>
>>> - <#> <wsdl:operation name="*lookup*">
>>>  <soap:operation soapAction="" style="*document*" />
>>> - <#> <wsdl:input name="*lookup*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:input>
>>> - <#> <wsdl:output name="*lookupResponse*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:output>
>>>  </wsdl:operation>
>>> - <#> <wsdl:operation name="*delete*">
>>>  <soap:operation soapAction="" style="*document*" />
>>> - <#> <wsdl:input name="*delete*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:input>
>>> - <#> <wsdl:output name="*deleteResponse*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:output>
>>>  </wsdl:operation>
>>> - <#> <wsdl:operation name="*validatePassword*">
>>>  <soap:operation soapAction="" style="*document*" />
>>> - <#> <wsdl:input name="*validatePassword*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:input>
>>> - <#> <wsdl:output name="*validatePasswordResponse*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:output>
>>>  </wsdl:operation>
>>> - <#> <wsdl:operation name="*modify*">
>>>  <soap:operation soapAction="" style="*document*" />
>>> - <#> <wsdl:input name="*modify*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:input>
>>> - <#> <wsdl:output name="*modifyResponse*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:output>
>>>  </wsdl:operation>
>>> - <#> <wsdl:operation name="*setPassword*">
>>>  <soap:operation soapAction="" style="*document*" />
>>> - <#> <wsdl:input name="*setPassword*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:input>
>>> - <#> <wsdl:output name="*setPasswordResponse*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:output>
>>>  </wsdl:operation>
>>> - <#> <wsdl:operation name="*resetPassword*">
>>>  <soap:operation soapAction="" style="*document*" />
>>> - <#> <wsdl:input name="*resetPassword*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:input>
>>> - <#> <wsdl:output name="*resetPasswordResponse*">
>>>  <soap:body use="*literal*" />
>>>  </wsdl:output>
>>>  </wsdl:operation>
>>>  </wsdl:binding>
>>> - <#> <wsdl:service name="*ExampleConnectorService*">
>>> - <#> <wsdl:port name="*ExampleConnectorServicePort*"
>>> binding="*tns:ExampleConnectorServiceSoapBinding*">
>>>  <soap:address location="*
>>> http://localhost:8080/idm-connector-ws/ExampleConnectorService*" />
>>>  </wsdl:port>
>>>  </wsdl:service>
>>>  </wsdl:definitions>
>>>
>>>
>>>
>>>
>>
>>
>>
>

Re: Problem Creating JAXWS Client

by sshah :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Benson:

In my interface, I have the following annotation:

@WebService(targetNamespace = "http://www.openiam.org/service/connector")

In my service implementation, I have the following :

@WebService(endpointInterface="org.openiam.spml2.interf.ConnectorService",
        targetNamespace="http://www.openiam.org/service/connector",
        portName = "ExampleConnectorServicePort",
        serviceName="ExampleConnectorService")

I am a bit lost at this point. How should I have this setup?  The
services are running on my local tomcat.

Thanks for your help

Regards
Suneet


Benson Margulies wrote:

> The port is defined as {http://www.openiam.org/service/connector}
> ExampleConnectorServicePort<http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>but
> you are somehow trying to use a QName with a URL on localhost to
> reference it.
>
> On Sat, Nov 7, 2009 at 8:17 PM, Suneet Shah <suneetshah2000@...>wrote:
>
>  
>> Thanks Benson.
>>
>>
>> Benson Margulies wrote:
>>
>>    
>>> Attachments don't work on this list. Open a JIRA if you need to give us
>>> one.
>>>
>>>
>>> On Sat, Nov 7, 2009 at 8:14 PM, Suneet Shah <suneetshah2000@...
>>>      
>>>> wrote:
>>>>        
>>>
>>>      
>>>> Hello:
>>>>
>>>>
>>>>
>>>>        
>>>>> I am trying to create a client to consume a service that I built using
>>>>> CXF. However, I am running into the exception below where it can't find
>>>>> the
>>>>> Port. I have attached my wsdl.
>>>>>
>>>>> I have tried two different ways to build the client. One is based on the
>>>>> code that I saw from wsdl2java and the other using jaxwsfactor.y.
>>>>>
>>>>> If I leave out the wsdl location, I get serialization errors.
>>>>>
>>>>> Thanks for your help
>>>>> Suneet
>>>>>
>>>>>                   Service service =
>>>>> Service.create(QName.valueOf(connector.getServiceUrl()));
>>>>>                   ConnectorService port = service.getPort(new QName("
>>>>> http://localhost:8080/idm-connector-ws",
>>>>> "ExampleConnectorServicePort"),
>>>>> ConnectorService.class);
>>>>>
>>>>>
>>>>>                                             AddRequestType addReqType =
>>>>> new
>>>>> AddRequestType();
>>>>>                              PSOIdentifierType idType = new
>>>>> PSOIdentifierType(lg.getId().getLogin(),null, "target");
>>>>>                              addReqType.setPsoID(idType);
>>>>>                              addReqType.setRequestID("R4589");
>>>>>
>>>>> addReqType.setTargetID(lg.getId().getManagedSysId());
>>>>>
>>>>> ExtensibleUser extUser = new ExtensibleUser();
>>>>>                              extUser.setName(user.getFirstName() + " " +
>>>>> user.getLastName());
>>>>>                              extUser.getAttributes().add(new
>>>>> ExtensibleAttribute("cn",user.getFirstName() + " " +
>>>>> user.getLastName()));
>>>>>
>>>>>                              addReqType.getData().getAny().add(extUser);
>>>>>                              port.add(addReqType);
>>>>>
>>>>> alternative JAXWS Code:
>>>>>
>>>>>                              JaxWsProxyFactoryBean factory = new
>>>>> JaxWsProxyFactoryBean();
>>>>>                              factory.getInInterceptors().add(new
>>>>> LoggingInInterceptor());
>>>>>                              factory.getOutInterceptors().add(new
>>>>> LoggingOutInterceptor());
>>>>>
>>>>> factory.setServiceClass(ConnectorService.class);
>>>>>                                                               log.info
>>>>> ("Service
>>>>> endpoint : " + connector.getServiceUrl() );
>>>>>
>>>>>  factory.setAddress(connector.getServiceUrl());
>>>>>                                                     factory.setWsdlURL("
>>>>> http://localhost:8080/idm-connector-ws/ExampleConnectorService?wsdl");
>>>>>                               ConnectorService port = (ConnectorService)
>>>>> factory.create();
>>>>>
>>>>>
>>>>> Exception:
>>>>>
>>>>> WARNING: Application has thrown exception, unwinding now
>>>>> org.apache.cxf.interceptor.Fault: Port {
>>>>> http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort<http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>
>>>>> <http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>not
>>>>> found.
>>>>>
>>>>>      at
>>>>>
>>>>> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:148)
>>>>>
>>>>>      at
>>>>>
>>>>> org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:83)
>>>>>
>>>>>      at
>>>>>
>>>>> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:114)
>>>>>
>>>>>      at
>>>>>
>>>>> org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:55)
>>>>>      at
>>>>> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker
>>>>> .java:68)
>>>>>
>>>>> Caused by:
>>>>>
>>>>> Caused by: javax.xml.ws.WebServiceException: Port {
>>>>> http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort<http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>
>>>>> <http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>not
>>>>> found.
>>>>>
>>>>>      at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:311)
>>>>>      at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:302)
>>>>>      at javax.xml.ws.Service.getPort(Service.java:92)
>>>>>      at
>>>>>
>>>>> org.openiam.provision.service.ProvisionServiceImpl.addUser(ProvisionServiceImpl.java:224)
>>>>>
>>>>>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>      at
>>>>>
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>
>>>>>
>>>>>  WSDL:
>>>>>
>>>>>
>>>>>          
>>>> <?xml version="1.0" encoding="UTF-8" ?>
>>>> - <#> <wsdl:definitions xmlns:ns1="*
>>>> http://cxf.apache.org/bindings/xformat*" xmlns:soap="*
>>>> http://schemas.xmlsoap.org/wsdl/soap/*" xmlns:tns="*
>>>> http://www.openiam.org/service/connector*" xmlns:wsdl="*
>>>> http://schemas.xmlsoap.org/wsdl/*" xmlns:xsd="*
>>>> http://www.w3.org/2001/XMLSchema*" name="*ExampleConnectorService*"
>>>> targetNamespace="*http://www.openiam.org/service/connector*">
>>>> - <#> <wsdl:types>
>>>> - <#> <xs:schema attributeFormDefault="*unqualified*"
>>>> elementFormDefault="*qualified*" targetNamespace="*
>>>> http://www.openiam.org/service/connector*" xmlns:tns="*
>>>> http://www.openiam.org/service/connector*" xmlns:xs="*
>>>> http://www.w3.org/2001/XMLSchema*">
>>>>  <xs:element name="*addRequest*" type="*tns:AddRequestType*" />
>>>>  <xs:element name="*addResponse*" type="*tns:AddResponseType*" />
>>>>  <xs:element name="*deleteRequest*" type="*tns:DeleteRequestType*" />
>>>>  <xs:element name="*deleteResponse*" type="*tns:ResponseType*" />
>>>>  <xs:element name="*expirePasswordRequest*"
>>>> type="*tns:ExpirePasswordRequestType*" />
>>>>  <xs:element name="*expirePasswordResponse*" type="*tns:ResponseType*" />
>>>>  <xs:element name="*extensibleUser*" type="*tns:ExtensibleUser*" />
>>>>  <xs:element name="*listTargetsRequest*"
>>>> type="*tns:ListTargetsRequestType*" />
>>>>  <xs:element name="*listTargetsResponse*"
>>>> type="*tns:ListTargetsResponseType*" />
>>>>  <xs:element name="*lookupRequest*" type="*tns:LookupRequestType*" />
>>>>  <xs:element name="*lookupResponse*" type="*tns:LookupResponseType*" />
>>>>  <xs:element name="*modifyRequest*" type="*tns:ModifyRequestType*" />
>>>>  <xs:element name="*modifyResponse*" type="*tns:ModifyResponseType*" />
>>>>  <xs:element name="*resetPasswordRequest*"
>>>> type="*tns:ResetPasswordRequestType*" />
>>>>  <xs:element name="*resetPasswordResponse*"
>>>> type="*tns:ResetPasswordResponseType*" />
>>>>  <xs:element name="*select*" type="*tns:SelectionType*" />
>>>>  <xs:element name="*setPasswordRequest*"
>>>> type="*tns:SetPasswordRequestType*" />
>>>>  <xs:element name="*setPasswordResponse*" type="*tns:ResponseType*" />
>>>>  <xs:element name="*validatePasswordRequest*"
>>>> type="*tns:ValidatePasswordRequestType*" />
>>>>  <xs:element name="*validatePasswordResponse*"
>>>> type="*tns:ValidatePasswordResponseType*" />
>>>> - <#> <xs:complexType name="*ExtensibleType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:any maxOccurs="*unbounded*" minOccurs="*0*" namespace="*##other*"
>>>> processContents="*lax*" />
>>>>  </xs:sequence>
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*SelectionType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:QueryClauseType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>> name="*namespacePrefixMap*" nillable="*true*"
>>>> type="*tns:NamespacePrefixMappingType*" />
>>>>  </xs:sequence>
>>>>  <xs:attribute name="*path*" type="*xs:string*" use="*required*" />
>>>>  <xs:attribute name="*namespaceURI*" type="*xs:string*" use="*required*"
>>>> />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*QueryClauseType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>  <xs:sequence />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*NamespacePrefixMappingType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>  <xs:sequence />
>>>>  <xs:attribute name="*prefix*" type="*xs:string*" use="*required*" />
>>>>  <xs:attribute name="*namespace*" type="*xs:string*" use="*required*" />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*AddRequestType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*psoID*"
>>>> type="*tns:PSOIdentifierType*"
>>>> />
>>>>  <xs:element minOccurs="*0*" name="*containerID*"
>>>> type="*tns:PSOIdentifierType*" />
>>>>  <xs:element name="*data*" type="*tns:ExtensibleType*" />
>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>> name="*capabilityData*" nillable="*true*" type="*tns:CapabilityDataType*"
>>>> />
>>>>  </xs:sequence>
>>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*RequestType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>  <xs:sequence />
>>>>  <xs:attribute name="*requestID*" type="*xs:ID*" />
>>>>  <xs:attribute name="*executionMode*" type="*tns:ExecutionModeType*" />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*PSOIdentifierType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:IdentifierType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*containerID*"
>>>> type="*tns:PSOIdentifierType*" />
>>>>  </xs:sequence>
>>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*IdentifierType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>  <xs:sequence />
>>>>  <xs:attribute name="*ID*" type="*xs:string*" />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*CapabilityDataType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>  <xs:sequence />
>>>>  <xs:attribute name="*mustUnderstand*" type="*xs:boolean*" />
>>>>  <xs:attribute name="*capabilityURI*" type="*xs:anyURI*" />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*LookupRequestType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>  </xs:sequence>
>>>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*ListTargetsRequestType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>  <xs:sequence />
>>>>  <xs:attribute name="*profile*" type="*xs:anyURI*" />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*DeleteRequestType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>  </xs:sequence>
>>>>  <xs:attribute name="*recursive*" type="*xs:boolean*" />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*ModifyRequestType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>  <xs:element maxOccurs="*unbounded*" name="*modification*"
>>>> type="*tns:ModificationType*" />
>>>>  </xs:sequence>
>>>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*ModificationType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*component*"
>>>> type="*tns:SelectionType*"
>>>> />
>>>>  <xs:element minOccurs="*0*" name="*data*" type="*tns:ExtensibleType*" />
>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>> name="*capabilityData*" nillable="*true*" type="*tns:CapabilityDataType*"
>>>> />
>>>>  </xs:sequence>
>>>>  <xs:attribute name="*modificationMode*"
>>>> type="*tns:ModificationModeType*"
>>>> />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*CapabilityType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*appliesTo*"
>>>> nillable="*true*" type="*tns:SchemaEntityRefType*" />
>>>>  </xs:sequence>
>>>>  <xs:attribute name="*namespaceURI*" type="*xs:anyURI*" />
>>>>  <xs:attribute name="*location*" type="*xs:anyURI*" />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*SchemaEntityRefType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>  <xs:sequence />
>>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>>  <xs:attribute name="*entityName*" type="*xs:string*" />
>>>>  <xs:attribute name="*isContainer*" type="*xs:boolean*" />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*ModifyResponseType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>>>  </xs:sequence>
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*ResponseType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>> name="*errorMessage*"
>>>> nillable="*true*" type="*xs:string*" />
>>>>  </xs:sequence>
>>>>  <xs:attribute name="*status*" type="*tns:StatusCodeType*"
>>>> use="*required*"
>>>> />
>>>>  <xs:attribute name="*requestID*" type="*xs:ID*" />
>>>>  <xs:attribute name="*error*" type="*tns:ErrorCode*" />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*PSOType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>  <xs:element minOccurs="*0*" name="*data*" type="*tns:ExtensibleType*" />
>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>> name="*capabilityData*" nillable="*true*" type="*tns:CapabilityDataType*"
>>>> />
>>>>  </xs:sequence>
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*AddResponseType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>>>  </xs:sequence>
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*ListTargetsResponseType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*target*"
>>>> nillable="*true*" type="*tns:TargetType*" />
>>>>  </xs:sequence>
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*TargetType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element maxOccurs="*unbounded*" name="*schema*"
>>>> type="*tns:SchemaType*" />
>>>>  <xs:element minOccurs="*0*" name="*capabilities*"
>>>> type="*tns:CapabilitiesListType*" />
>>>>  </xs:sequence>
>>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>>  <xs:attribute name="*profile*" type="*xs:anyURI*" />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*SchemaType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>> name="*supportedSchemaEntity*" nillable="*true*"
>>>> type="*tns:SchemaEntityRefType*" />
>>>>  </xs:sequence>
>>>>  <xs:attribute name="*ref*" type="*xs:anyURI*" />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*CapabilitiesListType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*capability*"
>>>> nillable="*true*" type="*tns:CapabilityType*" />
>>>>  </xs:sequence>
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*LookupResponseType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>>>  </xs:sequence>
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*ExtensibleUser*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*address*"
>>>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*phone*"
>>>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*email*"
>>>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*group*"
>>>> nillable="*true*" type="*tns:ExtensibleGroup*" />
>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*role*"
>>>> nillable="*true*" type="*tns:ExtensibleRole*" />
>>>>  </xs:sequence>
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*ExtensibleObject*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*objectId*" type="*xs:string*" />
>>>>  <xs:element minOccurs="*0*" name="*name*" type="*xs:string*" />
>>>>  <xs:element name="*operation*" type="*xs:int*" />
>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*attributes*"
>>>> nillable="*true*" type="*tns:ExtensibleAttribute*" />
>>>>  </xs:sequence>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*ExtensibleAttribute*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*name*" type="*xs:string*" />
>>>>  <xs:element minOccurs="*0*" name="*value*" type="*xs:string*" />
>>>>  <xs:element name="*operation*" type="*xs:int*" />
>>>>  </xs:sequence>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*ExtensibleGroup*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>>>>  <xs:sequence />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*ExtensibleRole*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>>>>  <xs:sequence />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*ExpirePasswordRequestType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>  </xs:sequence>
>>>>  <xs:attribute name="*remainingLogins*" type="*xs:int*" />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*ValidatePasswordRequestType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>  <xs:element name="*password*" type="*xs:string*" />
>>>>  </xs:sequence>
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*ValidatePasswordResponseType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>  <xs:sequence />
>>>>  <xs:attribute name="*valid*" type="*xs:boolean*" />
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*SetPasswordRequestType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>  <xs:element name="*password*" type="*xs:string*" />
>>>>  <xs:element minOccurs="*0*" name="*currentPassword*" type="*xs:string*"
>>>> />
>>>>  </xs:sequence>
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*ResetPasswordRequestType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>  </xs:sequence>
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:complexType name="*ResetPasswordResponseType*">
>>>> - <#> <xs:complexContent>
>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*password*" type="*xs:string*" />
>>>>  </xs:sequence>
>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>  </xs:extension>
>>>>  </xs:complexContent>
>>>>  </xs:complexType>
>>>> - <#> <xs:simpleType name="*ReturnDataType*">
>>>> - <#> <xs:restriction base="*xs:string*">
>>>>  <xs:enumeration value="*identifier*" />
>>>>  <xs:enumeration value="*data*" />
>>>>  <xs:enumeration value="*everything*" />
>>>>  </xs:restriction>
>>>>  </xs:simpleType>
>>>> - <#> <xs:simpleType name="*ExecutionModeType*">
>>>> - <#> <xs:restriction base="*xs:string*">
>>>>  <xs:enumeration value="*synchronous*" />
>>>>  <xs:enumeration value="*asynchronous*" />
>>>>  </xs:restriction>
>>>>  </xs:simpleType>
>>>> - <#> <xs:simpleType name="*ModificationModeType*">
>>>> - <#> <xs:restriction base="*xs:string*">
>>>>  <xs:enumeration value="*add*" />
>>>>  <xs:enumeration value="*replace*" />
>>>>  <xs:enumeration value="*delete*" />
>>>>  </xs:restriction>
>>>>  </xs:simpleType>
>>>> - <#> <xs:simpleType name="*StatusCodeType*">
>>>> - <#> <xs:restriction base="*xs:string*">
>>>>  <xs:enumeration value="*success*" />
>>>>  <xs:enumeration value="*failure*" />
>>>>  <xs:enumeration value="*pending*" />
>>>>  </xs:restriction>
>>>>  </xs:simpleType>
>>>> - <#> <xs:simpleType name="*ErrorCode*">
>>>> - <#> <xs:restriction base="*xs:string*">
>>>>  <xs:enumeration value="*malformedRequest*" />
>>>>  <xs:enumeration value="*unsupportedOperation*" />
>>>>  <xs:enumeration value="*unsupportedIdentifierType*" />
>>>>  <xs:enumeration value="*noSuchIdentifier*" />
>>>>  <xs:enumeration value="*customError*" />
>>>>  <xs:enumeration value="*unsupportedExecutionMode*" />
>>>>  <xs:enumeration value="*invalidContainment*" />
>>>>  <xs:enumeration value="*noSuchRequest*" />
>>>>  <xs:enumeration value="*unsupportedSelectionType*" />
>>>>  <xs:enumeration value="*resultSetToLarge*" />
>>>>  <xs:enumeration value="*unsupportedProfile*" />
>>>>  <xs:enumeration value="*invalidIdentifier*" />
>>>>  <xs:enumeration value="*alreadyExists*" />
>>>>  <xs:enumeration value="*containerNotEmpty*" />
>>>>  </xs:restriction>
>>>>  </xs:simpleType>
>>>>  <xs:element name="*add*" type="*tns:add*" />
>>>> - <#> <xs:complexType name="*add*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*reqType*" type="*tns:AddRequestType*"
>>>> />
>>>>  </xs:sequence>
>>>>  </xs:complexType>
>>>>  <xs:element name="*testConnection*" type="*tns:testConnection*" />
>>>> - <#> <xs:complexType name="*testConnection*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*targetID*" type="*xs:string*" />
>>>>  </xs:sequence>
>>>>  </xs:complexType>
>>>>  <xs:element name="*testConnectionResponse*"
>>>> type="*tns:testConnectionResponse*" />
>>>> - <#> <xs:complexType name="*testConnectionResponse*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element name="*return*" type="*xs:boolean*" />
>>>>  </xs:sequence>
>>>>  </xs:complexType>
>>>>  <xs:element name="*expirePassword*" type="*tns:expirePassword*" />
>>>> - <#> <xs:complexType name="*expirePassword*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*request*"
>>>> type="*tns:ExpirePasswordRequestType*" />
>>>>  </xs:sequence>
>>>>  </xs:complexType>
>>>>  <xs:element name="*lookup*" type="*tns:lookup*" />
>>>> - <#> <xs:complexType name="*lookup*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>>> type="*tns:LookupRequestType*" />
>>>>  </xs:sequence>
>>>>  </xs:complexType>
>>>>  <xs:element name="*delete*" type="*tns:delete*" />
>>>> - <#> <xs:complexType name="*delete*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>>> type="*tns:DeleteRequestType*" />
>>>>  </xs:sequence>
>>>>  </xs:complexType>
>>>>  <xs:element name="*validatePassword*" type="*tns:validatePassword*" />
>>>> - <#> <xs:complexType name="*validatePassword*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*request*"
>>>> type="*tns:ValidatePasswordRequestType*" />
>>>>  </xs:sequence>
>>>>  </xs:complexType>
>>>>  <xs:element name="*modify*" type="*tns:modify*" />
>>>> - <#> <xs:complexType name="*modify*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>>> type="*tns:ModifyRequestType*" />
>>>>  </xs:sequence>
>>>>  </xs:complexType>
>>>>  <xs:element name="*setPassword*" type="*tns:setPassword*" />
>>>> - <#> <xs:complexType name="*setPassword*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*request*"
>>>> type="*tns:SetPasswordRequestType*" />
>>>>  </xs:sequence>
>>>>  </xs:complexType>
>>>>  <xs:element name="*resetPassword*" type="*tns:resetPassword*" />
>>>> - <#> <xs:complexType name="*resetPassword*">
>>>> - <#> <xs:sequence>
>>>>  <xs:element minOccurs="*0*" name="*request*"
>>>> type="*tns:ResetPasswordRequestType*" />
>>>>  </xs:sequence>
>>>>  </xs:complexType>
>>>>  </xs:schema>
>>>>  </wsdl:types>
>>>> - <#> <wsdl:message name="*resetPasswordResponse*">
>>>>  <wsdl:part name="*parameters*" element="*tns:resetPasswordResponse*" />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:message name="*modifyResponse*">
>>>>  <wsdl:part name="*parameters*" element="*tns:modifyResponse*" />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:message name="*delete*">
>>>>  <wsdl:part name="*parameters*" element="*tns:delete*" />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:message name="*setPassword*">
>>>>  <wsdl:part name="*parameters*" element="*tns:setPassword*" />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:message name="*deleteResponse*">
>>>>  <wsdl:part name="*parameters*" element="*tns:deleteResponse*" />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:message name="*setPasswordResponse*">
>>>>  <wsdl:part name="*parameters*" element="*tns:setPasswordResponse*" />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:message name="*validatePasswordResponse*">
>>>>  <wsdl:part name="*parameters*" element="*tns:validatePasswordResponse*"
>>>> />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:message name="*lookupResponse*">
>>>>  <wsdl:part name="*parameters*" element="*tns:lookupResponse*" />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:message name="*testConnection*">
>>>>  <wsdl:part name="*parameters*" element="*tns:testConnection*" />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:message name="*modify*">
>>>>  <wsdl:part name="*parameters*" element="*tns:modify*" />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:message name="*testConnectionResponse*">
>>>>  <wsdl:part name="*parameters*" element="*tns:testConnectionResponse*" />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:message name="*add*">
>>>>  <wsdl:part name="*parameters*" element="*tns:add*" />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:message name="*expirePasswordResponse*">
>>>>  <wsdl:part name="*parameters*" element="*tns:expirePasswordResponse*" />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:message name="*lookup*">
>>>>  <wsdl:part name="*parameters*" element="*tns:lookup*" />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:message name="*addResponse*">
>>>>  <wsdl:part name="*parameters*" element="*tns:addResponse*" />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:message name="*expirePassword*">
>>>>  <wsdl:part name="*parameters*" element="*tns:expirePassword*" />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:message name="*validatePassword*">
>>>>  <wsdl:part name="*parameters*" element="*tns:validatePassword*" />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:message name="*resetPassword*">
>>>>  <wsdl:part name="*parameters*" element="*tns:resetPassword*" />
>>>>  </wsdl:message>
>>>> - <#> <wsdl:portType name="*ConnectorService*">
>>>> - <#> <wsdl:operation name="*add*">
>>>>  <wsdl:input name="*add*" message="*tns:add*" />
>>>>  <wsdl:output name="*addResponse*" message="*tns:addResponse*" />
>>>>  </wsdl:operation>
>>>> - <#> <wsdl:operation name="*testConnection*">
>>>>  <wsdl:input name="*testConnection*" message="*tns:testConnection*" />
>>>>  <wsdl:output name="*testConnectionResponse*"
>>>> message="*tns:testConnectionResponse*" />
>>>>  </wsdl:operation>
>>>> - <#> <wsdl:operation name="*expirePassword*">
>>>>  <wsdl:input name="*expirePassword*" message="*tns:expirePassword*" />
>>>>  <wsdl:output name="*expirePasswordResponse*"
>>>> message="*tns:expirePasswordResponse*" />
>>>>  </wsdl:operation>
>>>> - <#> <wsdl:operation name="*lookup*">
>>>>  <wsdl:input name="*lookup*" message="*tns:lookup*" />
>>>>  <wsdl:output name="*lookupResponse*" message="*tns:lookupResponse*" />
>>>>  </wsdl:operation>
>>>> - <#> <wsdl:operation name="*delete*">
>>>>  <wsdl:input name="*delete*" message="*tns:delete*" />
>>>>  <wsdl:output name="*deleteResponse*" message="*tns:deleteResponse*" />
>>>>  </wsdl:operation>
>>>> - <#> <wsdl:operation name="*validatePassword*">
>>>>  <wsdl:input name="*validatePassword*" message="*tns:validatePassword*"
>>>> />
>>>>  <wsdl:output name="*validatePasswordResponse*"
>>>> message="*tns:validatePasswordResponse*" />
>>>>  </wsdl:operation>
>>>> - <#> <wsdl:operation name="*modify*">
>>>>  <wsdl:input name="*modify*" message="*tns:modify*" />
>>>>  <wsdl:output name="*modifyResponse*" message="*tns:modifyResponse*" />
>>>>  </wsdl:operation>
>>>> - <#> <wsdl:operation name="*setPassword*">
>>>>  <wsdl:input name="*setPassword*" message="*tns:setPassword*" />
>>>>  <wsdl:output name="*setPasswordResponse*"
>>>> message="*tns:setPasswordResponse*" />
>>>>  </wsdl:operation>
>>>> - <#> <wsdl:operation name="*resetPassword*">
>>>>  <wsdl:input name="*resetPassword*" message="*tns:resetPassword*" />
>>>>  <wsdl:output name="*resetPasswordResponse*"
>>>> message="*tns:resetPasswordResponse*" />
>>>>  </wsdl:operation>
>>>>  </wsdl:portType>
>>>> - <#> <wsdl:binding name="*ExampleConnectorServiceSoapBinding*"
>>>> type="*tns:ConnectorService*">
>>>>  <soap:binding style="*document*" transport="*
>>>> http://schemas.xmlsoap.org/soap/http*" />
>>>> - <#> <wsdl:operation name="*add*">
>>>>  <soap:operation soapAction="" style="*document*" />
>>>> - <#> <wsdl:input name="*add*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:input>
>>>> - <#> <wsdl:output name="*addResponse*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:output>
>>>>  </wsdl:operation>
>>>> - <#> <wsdl:operation name="*testConnection*">
>>>>  <soap:operation soapAction="" style="*document*" />
>>>> - <#> <wsdl:input name="*testConnection*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:input>
>>>> - <#> <wsdl:output name="*testConnectionResponse*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:output>
>>>>  </wsdl:operation>
>>>> - <#> <wsdl:operation name="*expirePassword*">
>>>>  <soap:operation soapAction="" style="*document*" />
>>>> - <#> <wsdl:input name="*expirePassword*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:input>
>>>> - <#> <wsdl:output name="*expirePasswordResponse*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:output>
>>>>  </wsdl:operation>
>>>> - <#> <wsdl:operation name="*lookup*">
>>>>  <soap:operation soapAction="" style="*document*" />
>>>> - <#> <wsdl:input name="*lookup*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:input>
>>>> - <#> <wsdl:output name="*lookupResponse*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:output>
>>>>  </wsdl:operation>
>>>> - <#> <wsdl:operation name="*delete*">
>>>>  <soap:operation soapAction="" style="*document*" />
>>>> - <#> <wsdl:input name="*delete*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:input>
>>>> - <#> <wsdl:output name="*deleteResponse*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:output>
>>>>  </wsdl:operation>
>>>> - <#> <wsdl:operation name="*validatePassword*">
>>>>  <soap:operation soapAction="" style="*document*" />
>>>> - <#> <wsdl:input name="*validatePassword*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:input>
>>>> - <#> <wsdl:output name="*validatePasswordResponse*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:output>
>>>>  </wsdl:operation>
>>>> - <#> <wsdl:operation name="*modify*">
>>>>  <soap:operation soapAction="" style="*document*" />
>>>> - <#> <wsdl:input name="*modify*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:input>
>>>> - <#> <wsdl:output name="*modifyResponse*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:output>
>>>>  </wsdl:operation>
>>>> - <#> <wsdl:operation name="*setPassword*">
>>>>  <soap:operation soapAction="" style="*document*" />
>>>> - <#> <wsdl:input name="*setPassword*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:input>
>>>> - <#> <wsdl:output name="*setPasswordResponse*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:output>
>>>>  </wsdl:operation>
>>>> - <#> <wsdl:operation name="*resetPassword*">
>>>>  <soap:operation soapAction="" style="*document*" />
>>>> - <#> <wsdl:input name="*resetPassword*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:input>
>>>> - <#> <wsdl:output name="*resetPasswordResponse*">
>>>>  <soap:body use="*literal*" />
>>>>  </wsdl:output>
>>>>  </wsdl:operation>
>>>>  </wsdl:binding>
>>>> - <#> <wsdl:service name="*ExampleConnectorService*">
>>>> - <#> <wsdl:port name="*ExampleConnectorServicePort*"
>>>> binding="*tns:ExampleConnectorServiceSoapBinding*">
>>>>  <soap:address location="*
>>>> http://localhost:8080/idm-connector-ws/ExampleConnectorService*" />
>>>>  </wsdl:port>
>>>>  </wsdl:service>
>>>>  </wsdl:definitions>
>>>>
>>>>
>>>>
>>>>
>>>>        
>>>
>>>      
>
>  

Re: Problem Creating JAXWS Client

by bimargulies :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

The server's fine, it seems to be the client where the trouble is.


On Sun, Nov 8, 2009 at 12:57 PM, Suneet Shah <suneetshah2000@...>wrote:

> Hi Benson:
>
> In my interface, I have the following annotation:
>
> @WebService(targetNamespace = "http://www.openiam.org/service/connector")
>
> In my service implementation, I have the following :
>
> @WebService(endpointInterface="org.openiam.spml2.interf.ConnectorService",
>       targetNamespace="http://www.openiam.org/service/connector",
>       portName = "ExampleConnectorServicePort",
>       serviceName="ExampleConnectorService")
>
> I am a bit lost at this point. How should I have this setup?  The services
> are running on my local tomcat.
>
> Thanks for your help
>
> Regards
> Suneet
>
>
> Benson Margulies wrote:
>
>> The port is defined as {http://www.openiam.org/service/connector}
>> ExampleConnectorServicePort<
>> http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>but
>>
>> you are somehow trying to use a QName with a URL on localhost to
>> reference it.
>>
>> On Sat, Nov 7, 2009 at 8:17 PM, Suneet Shah <suneetshah2000@...
>> >wrote:
>>
>>
>>
>>> Thanks Benson.
>>>
>>>
>>> Benson Margulies wrote:
>>>
>>>
>>>
>>>> Attachments don't work on this list. Open a JIRA if you need to give us
>>>> one.
>>>>
>>>>
>>>> On Sat, Nov 7, 2009 at 8:14 PM, Suneet Shah <suneetshah2000@...
>>>>
>>>>
>>>>> wrote:
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>> Hello:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> I am trying to create a client to consume a service that I built using
>>>>>> CXF. However, I am running into the exception below where it can't
>>>>>> find
>>>>>> the
>>>>>> Port. I have attached my wsdl.
>>>>>>
>>>>>> I have tried two different ways to build the client. One is based on
>>>>>> the
>>>>>> code that I saw from wsdl2java and the other using jaxwsfactor.y.
>>>>>>
>>>>>> If I leave out the wsdl location, I get serialization errors.
>>>>>>
>>>>>> Thanks for your help
>>>>>> Suneet
>>>>>>
>>>>>>                  Service service =
>>>>>> Service.create(QName.valueOf(connector.getServiceUrl()));
>>>>>>                  ConnectorService port = service.getPort(new QName("
>>>>>> http://localhost:8080/idm-connector-ws",
>>>>>> "ExampleConnectorServicePort"),
>>>>>> ConnectorService.class);
>>>>>>
>>>>>>
>>>>>>                                            AddRequestType addReqType =
>>>>>> new
>>>>>> AddRequestType();
>>>>>>                             PSOIdentifierType idType = new
>>>>>> PSOIdentifierType(lg.getId().getLogin(),null, "target");
>>>>>>                             addReqType.setPsoID(idType);
>>>>>>                             addReqType.setRequestID("R4589");
>>>>>>
>>>>>> addReqType.setTargetID(lg.getId().getManagedSysId());
>>>>>>
>>>>>> ExtensibleUser extUser = new ExtensibleUser();
>>>>>>                             extUser.setName(user.getFirstName() + " "
>>>>>> +
>>>>>> user.getLastName());
>>>>>>                             extUser.getAttributes().add(new
>>>>>> ExtensibleAttribute("cn",user.getFirstName() + " " +
>>>>>> user.getLastName()));
>>>>>>
>>>>>>
>>>>>> addReqType.getData().getAny().add(extUser);
>>>>>>                             port.add(addReqType);
>>>>>>
>>>>>> alternative JAXWS Code:
>>>>>>
>>>>>>                             JaxWsProxyFactoryBean factory = new
>>>>>> JaxWsProxyFactoryBean();
>>>>>>                             factory.getInInterceptors().add(new
>>>>>> LoggingInInterceptor());
>>>>>>                             factory.getOutInterceptors().add(new
>>>>>> LoggingOutInterceptor());
>>>>>>
>>>>>> factory.setServiceClass(ConnectorService.class);
>>>>>>                                                              log.info
>>>>>> ("Service
>>>>>> endpoint : " + connector.getServiceUrl() );
>>>>>>
>>>>>>  factory.setAddress(connector.getServiceUrl());
>>>>>>
>>>>>>  factory.setWsdlURL("
>>>>>> http://localhost:8080/idm-connector-ws/ExampleConnectorService?wsdl
>>>>>> ");
>>>>>>                              ConnectorService port =
>>>>>> (ConnectorService)
>>>>>> factory.create();
>>>>>>
>>>>>>
>>>>>> Exception:
>>>>>>
>>>>>> WARNING: Application has thrown exception, unwinding now
>>>>>> org.apache.cxf.interceptor.Fault: Port {
>>>>>> http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort<http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>
>>>>>> <http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort
>>>>>> >
>>>>>> <http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort
>>>>>> >not
>>>>>> found.
>>>>>>
>>>>>>     at
>>>>>>
>>>>>>
>>>>>> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:148)
>>>>>>
>>>>>>     at
>>>>>>
>>>>>>
>>>>>> org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:83)
>>>>>>
>>>>>>     at
>>>>>>
>>>>>>
>>>>>> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:114)
>>>>>>
>>>>>>     at
>>>>>>
>>>>>>
>>>>>> org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:55)
>>>>>>     at
>>>>>> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker
>>>>>> .java:68)
>>>>>>
>>>>>> Caused by:
>>>>>>
>>>>>> Caused by: javax.xml.ws.WebServiceException: Port {
>>>>>> http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort<http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>
>>>>>> <http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort
>>>>>> >
>>>>>> <http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort
>>>>>> >not
>>>>>> found.
>>>>>>
>>>>>>     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:311)
>>>>>>     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:302)
>>>>>>     at javax.xml.ws.Service.getPort(Service.java:92)
>>>>>>     at
>>>>>>
>>>>>>
>>>>>> org.openiam.provision.service.ProvisionServiceImpl.addUser(ProvisionServiceImpl.java:224)
>>>>>>
>>>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>     at
>>>>>>
>>>>>>
>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>>
>>>>>>
>>>>>>  WSDL:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>> <?xml version="1.0" encoding="UTF-8" ?>
>>>>> - <#> <wsdl:definitions xmlns:ns1="*
>>>>> http://cxf.apache.org/bindings/xformat*" xmlns:soap="*
>>>>> http://schemas.xmlsoap.org/wsdl/soap/*" xmlns:tns="*
>>>>> http://www.openiam.org/service/connector*" xmlns:wsdl="*
>>>>> http://schemas.xmlsoap.org/wsdl/*" xmlns:xsd="*
>>>>> http://www.w3.org/2001/XMLSchema*" name="*ExampleConnectorService*"
>>>>> targetNamespace="*http://www.openiam.org/service/connector*">
>>>>> - <#> <wsdl:types>
>>>>> - <#> <xs:schema attributeFormDefault="*unqualified*"
>>>>> elementFormDefault="*qualified*" targetNamespace="*
>>>>> http://www.openiam.org/service/connector*" xmlns:tns="*
>>>>> http://www.openiam.org/service/connector*" xmlns:xs="*
>>>>> http://www.w3.org/2001/XMLSchema*">
>>>>>  <xs:element name="*addRequest*" type="*tns:AddRequestType*" />
>>>>>  <xs:element name="*addResponse*" type="*tns:AddResponseType*" />
>>>>>  <xs:element name="*deleteRequest*" type="*tns:DeleteRequestType*" />
>>>>>  <xs:element name="*deleteResponse*" type="*tns:ResponseType*" />
>>>>>  <xs:element name="*expirePasswordRequest*"
>>>>> type="*tns:ExpirePasswordRequestType*" />
>>>>>  <xs:element name="*expirePasswordResponse*" type="*tns:ResponseType*"
>>>>> />
>>>>>  <xs:element name="*extensibleUser*" type="*tns:ExtensibleUser*" />
>>>>>  <xs:element name="*listTargetsRequest*"
>>>>> type="*tns:ListTargetsRequestType*" />
>>>>>  <xs:element name="*listTargetsResponse*"
>>>>> type="*tns:ListTargetsResponseType*" />
>>>>>  <xs:element name="*lookupRequest*" type="*tns:LookupRequestType*" />
>>>>>  <xs:element name="*lookupResponse*" type="*tns:LookupResponseType*" />
>>>>>  <xs:element name="*modifyRequest*" type="*tns:ModifyRequestType*" />
>>>>>  <xs:element name="*modifyResponse*" type="*tns:ModifyResponseType*" />
>>>>>  <xs:element name="*resetPasswordRequest*"
>>>>> type="*tns:ResetPasswordRequestType*" />
>>>>>  <xs:element name="*resetPasswordResponse*"
>>>>> type="*tns:ResetPasswordResponseType*" />
>>>>>  <xs:element name="*select*" type="*tns:SelectionType*" />
>>>>>  <xs:element name="*setPasswordRequest*"
>>>>> type="*tns:SetPasswordRequestType*" />
>>>>>  <xs:element name="*setPasswordResponse*" type="*tns:ResponseType*" />
>>>>>  <xs:element name="*validatePasswordRequest*"
>>>>> type="*tns:ValidatePasswordRequestType*" />
>>>>>  <xs:element name="*validatePasswordResponse*"
>>>>> type="*tns:ValidatePasswordResponseType*" />
>>>>> - <#> <xs:complexType name="*ExtensibleType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:any maxOccurs="*unbounded*" minOccurs="*0*" namespace="*##other*"
>>>>> processContents="*lax*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*SelectionType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:QueryClauseType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>> name="*namespacePrefixMap*" nillable="*true*"
>>>>> type="*tns:NamespacePrefixMappingType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*path*" type="*xs:string*" use="*required*" />
>>>>>  <xs:attribute name="*namespaceURI*" type="*xs:string*"
>>>>> use="*required*"
>>>>> />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*QueryClauseType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>  <xs:sequence />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*NamespacePrefixMappingType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>  <xs:sequence />
>>>>>  <xs:attribute name="*prefix*" type="*xs:string*" use="*required*" />
>>>>>  <xs:attribute name="*namespace*" type="*xs:string*" use="*required*"
>>>>> />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*AddRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*psoID*"
>>>>> type="*tns:PSOIdentifierType*"
>>>>> />
>>>>>  <xs:element minOccurs="*0*" name="*containerID*"
>>>>> type="*tns:PSOIdentifierType*" />
>>>>>  <xs:element name="*data*" type="*tns:ExtensibleType*" />
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>> name="*capabilityData*" nillable="*true*"
>>>>> type="*tns:CapabilityDataType*"
>>>>> />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*RequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>  <xs:sequence />
>>>>>  <xs:attribute name="*requestID*" type="*xs:ID*" />
>>>>>  <xs:attribute name="*executionMode*" type="*tns:ExecutionModeType*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*PSOIdentifierType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:IdentifierType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*containerID*"
>>>>> type="*tns:PSOIdentifierType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*IdentifierType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>  <xs:sequence />
>>>>>  <xs:attribute name="*ID*" type="*xs:string*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*CapabilityDataType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>  <xs:sequence />
>>>>>  <xs:attribute name="*mustUnderstand*" type="*xs:boolean*" />
>>>>>  <xs:attribute name="*capabilityURI*" type="*xs:anyURI*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*LookupRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ListTargetsRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>>  <xs:sequence />
>>>>>  <xs:attribute name="*profile*" type="*xs:anyURI*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*DeleteRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*recursive*" type="*xs:boolean*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ModifyRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>  <xs:element maxOccurs="*unbounded*" name="*modification*"
>>>>> type="*tns:ModificationType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ModificationType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*component*"
>>>>> type="*tns:SelectionType*"
>>>>> />
>>>>>  <xs:element minOccurs="*0*" name="*data*" type="*tns:ExtensibleType*"
>>>>> />
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>> name="*capabilityData*" nillable="*true*"
>>>>> type="*tns:CapabilityDataType*"
>>>>> />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*modificationMode*"
>>>>> type="*tns:ModificationModeType*"
>>>>> />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*CapabilityType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*appliesTo*"
>>>>> nillable="*true*" type="*tns:SchemaEntityRefType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*namespaceURI*" type="*xs:anyURI*" />
>>>>>  <xs:attribute name="*location*" type="*xs:anyURI*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*SchemaEntityRefType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>  <xs:sequence />
>>>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>>>  <xs:attribute name="*entityName*" type="*xs:string*" />
>>>>>  <xs:attribute name="*isContainer*" type="*xs:boolean*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ModifyResponseType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ResponseType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>> name="*errorMessage*"
>>>>> nillable="*true*" type="*xs:string*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*status*" type="*tns:StatusCodeType*"
>>>>> use="*required*"
>>>>> />
>>>>>  <xs:attribute name="*requestID*" type="*xs:ID*" />
>>>>>  <xs:attribute name="*error*" type="*tns:ErrorCode*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*PSOType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>  <xs:element minOccurs="*0*" name="*data*" type="*tns:ExtensibleType*"
>>>>> />
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>> name="*capabilityData*" nillable="*true*"
>>>>> type="*tns:CapabilityDataType*"
>>>>> />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*AddResponseType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ListTargetsResponseType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*target*"
>>>>> nillable="*true*" type="*tns:TargetType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*TargetType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element maxOccurs="*unbounded*" name="*schema*"
>>>>> type="*tns:SchemaType*" />
>>>>>  <xs:element minOccurs="*0*" name="*capabilities*"
>>>>> type="*tns:CapabilitiesListType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>>>  <xs:attribute name="*profile*" type="*xs:anyURI*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*SchemaType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>> name="*supportedSchemaEntity*" nillable="*true*"
>>>>> type="*tns:SchemaEntityRefType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*ref*" type="*xs:anyURI*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*CapabilitiesListType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>> name="*capability*"
>>>>> nillable="*true*" type="*tns:CapabilityType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*LookupResponseType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ExtensibleUser*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*address*"
>>>>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*phone*"
>>>>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*email*"
>>>>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*group*"
>>>>> nillable="*true*" type="*tns:ExtensibleGroup*" />
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*role*"
>>>>> nillable="*true*" type="*tns:ExtensibleRole*" />
>>>>>  </xs:sequence>
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ExtensibleObject*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*objectId*" type="*xs:string*" />
>>>>>  <xs:element minOccurs="*0*" name="*name*" type="*xs:string*" />
>>>>>  <xs:element name="*operation*" type="*xs:int*" />
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>> name="*attributes*"
>>>>> nillable="*true*" type="*tns:ExtensibleAttribute*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ExtensibleAttribute*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*name*" type="*xs:string*" />
>>>>>  <xs:element minOccurs="*0*" name="*value*" type="*xs:string*" />
>>>>>  <xs:element name="*operation*" type="*xs:int*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ExtensibleGroup*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>>>>>  <xs:sequence />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ExtensibleRole*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>>>>>  <xs:sequence />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ExpirePasswordRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*remainingLogins*" type="*xs:int*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ValidatePasswordRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>  <xs:element name="*password*" type="*xs:string*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ValidatePasswordResponseType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>>  <xs:sequence />
>>>>>  <xs:attribute name="*valid*" type="*xs:boolean*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*SetPasswordRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>  <xs:element name="*password*" type="*xs:string*" />
>>>>>  <xs:element minOccurs="*0*" name="*currentPassword*"
>>>>> type="*xs:string*"
>>>>> />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ResetPasswordRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ResetPasswordResponseType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*password*" type="*xs:string*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:simpleType name="*ReturnDataType*">
>>>>> - <#> <xs:restriction base="*xs:string*">
>>>>>  <xs:enumeration value="*identifier*" />
>>>>>  <xs:enumeration value="*data*" />
>>>>>  <xs:enumeration value="*everything*" />
>>>>>  </xs:restriction>
>>>>>  </xs:simpleType>
>>>>> - <#> <xs:simpleType name="*ExecutionModeType*">
>>>>> - <#> <xs:restriction base="*xs:string*">
>>>>>  <xs:enumeration value="*synchronous*" />
>>>>>  <xs:enumeration value="*asynchronous*" />
>>>>>  </xs:restriction>
>>>>>  </xs:simpleType>
>>>>> - <#> <xs:simpleType name="*ModificationModeType*">
>>>>> - <#> <xs:restriction base="*xs:string*">
>>>>>  <xs:enumeration value="*add*" />
>>>>>  <xs:enumeration value="*replace*" />
>>>>>  <xs:enumeration value="*delete*" />
>>>>>  </xs:restriction>
>>>>>  </xs:simpleType>
>>>>> - <#> <xs:simpleType name="*StatusCodeType*">
>>>>> - <#> <xs:restriction base="*xs:string*">
>>>>>  <xs:enumeration value="*success*" />
>>>>>  <xs:enumeration value="*failure*" />
>>>>>  <xs:enumeration value="*pending*" />
>>>>>  </xs:restriction>
>>>>>  </xs:simpleType>
>>>>> - <#> <xs:simpleType name="*ErrorCode*">
>>>>> - <#> <xs:restriction base="*xs:string*">
>>>>>  <xs:enumeration value="*malformedRequest*" />
>>>>>  <xs:enumeration value="*unsupportedOperation*" />
>>>>>  <xs:enumeration value="*unsupportedIdentifierType*" />
>>>>>  <xs:enumeration value="*noSuchIdentifier*" />
>>>>>  <xs:enumeration value="*customError*" />
>>>>>  <xs:enumeration value="*unsupportedExecutionMode*" />
>>>>>  <xs:enumeration value="*invalidContainment*" />
>>>>>  <xs:enumeration value="*noSuchRequest*" />
>>>>>  <xs:enumeration value="*unsupportedSelectionType*" />
>>>>>  <xs:enumeration value="*resultSetToLarge*" />
>>>>>  <xs:enumeration value="*unsupportedProfile*" />
>>>>>  <xs:enumeration value="*invalidIdentifier*" />
>>>>>  <xs:enumeration value="*alreadyExists*" />
>>>>>  <xs:enumeration value="*containerNotEmpty*" />
>>>>>  </xs:restriction>
>>>>>  </xs:simpleType>
>>>>>  <xs:element name="*add*" type="*tns:add*" />
>>>>> - <#> <xs:complexType name="*add*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>>>> type="*tns:AddRequestType*"
>>>>> />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*testConnection*" type="*tns:testConnection*" />
>>>>> - <#> <xs:complexType name="*testConnection*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*targetID*" type="*xs:string*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*testConnectionResponse*"
>>>>> type="*tns:testConnectionResponse*" />
>>>>> - <#> <xs:complexType name="*testConnectionResponse*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*return*" type="*xs:boolean*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*expirePassword*" type="*tns:expirePassword*" />
>>>>> - <#> <xs:complexType name="*expirePassword*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*request*"
>>>>> type="*tns:ExpirePasswordRequestType*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*lookup*" type="*tns:lookup*" />
>>>>> - <#> <xs:complexType name="*lookup*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>>>> type="*tns:LookupRequestType*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*delete*" type="*tns:delete*" />
>>>>> - <#> <xs:complexType name="*delete*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>>>> type="*tns:DeleteRequestType*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*validatePassword*" type="*tns:validatePassword*" />
>>>>> - <#> <xs:complexType name="*validatePassword*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*request*"
>>>>> type="*tns:ValidatePasswordRequestType*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*modify*" type="*tns:modify*" />
>>>>> - <#> <xs:complexType name="*modify*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>>>> type="*tns:ModifyRequestType*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*setPassword*" type="*tns:setPassword*" />
>>>>> - <#> <xs:complexType name="*setPassword*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*request*"
>>>>> type="*tns:SetPasswordRequestType*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*resetPassword*" type="*tns:resetPassword*" />
>>>>> - <#> <xs:complexType name="*resetPassword*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*request*"
>>>>> type="*tns:ResetPasswordRequestType*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  </xs:schema>
>>>>>  </wsdl:types>
>>>>> - <#> <wsdl:message name="*resetPasswordResponse*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:resetPasswordResponse*"
>>>>> />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*modifyResponse*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:modifyResponse*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*delete*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:delete*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*setPassword*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:setPassword*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*deleteResponse*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:deleteResponse*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*setPasswordResponse*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:setPasswordResponse*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*validatePasswordResponse*">
>>>>>  <wsdl:part name="*parameters*"
>>>>> element="*tns:validatePasswordResponse*"
>>>>> />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*lookupResponse*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:lookupResponse*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*testConnection*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:testConnection*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*modify*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:modify*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*testConnectionResponse*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:testConnectionResponse*"
>>>>> />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*add*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:add*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*expirePasswordResponse*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:expirePasswordResponse*"
>>>>> />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*lookup*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:lookup*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*addResponse*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:addResponse*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*expirePassword*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:expirePassword*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*validatePassword*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:validatePassword*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*resetPassword*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:resetPassword*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:portType name="*ConnectorService*">
>>>>> - <#> <wsdl:operation name="*add*">
>>>>>  <wsdl:input name="*add*" message="*tns:add*" />
>>>>>  <wsdl:output name="*addResponse*" message="*tns:addResponse*" />
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*testConnection*">
>>>>>  <wsdl:input name="*testConnection*" message="*tns:testConnection*" />
>>>>>  <wsdl:output name="*testConnectionResponse*"
>>>>> message="*tns:testConnectionResponse*" />
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*expirePassword*">
>>>>>  <wsdl:input name="*expirePassword*" message="*tns:expirePassword*" />
>>>>>  <wsdl:output name="*expirePasswordResponse*"
>>>>> message="*tns:expirePasswordResponse*" />
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*lookup*">
>>>>>  <wsdl:input name="*lookup*" message="*tns:lookup*" />
>>>>>  <wsdl:output name="*lookupResponse*" message="*tns:lookupResponse*" />
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*delete*">
>>>>>  <wsdl:input name="*delete*" message="*tns:delete*" />
>>>>>  <wsdl:output name="*deleteResponse*" message="*tns:deleteResponse*" />
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*validatePassword*">
>>>>>  <wsdl:input name="*validatePassword*" message="*tns:validatePassword*"
>>>>> />
>>>>>  <wsdl:output name="*validatePasswordResponse*"
>>>>> message="*tns:validatePasswordResponse*" />
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*modify*">
>>>>>  <wsdl:input name="*modify*" message="*tns:modify*" />
>>>>>  <wsdl:output name="*modifyResponse*" message="*tns:modifyResponse*" />
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*setPassword*">
>>>>>  <wsdl:input name="*setPassword*" message="*tns:setPassword*" />
>>>>>  <wsdl:output name="*setPasswordResponse*"
>>>>> message="*tns:setPasswordResponse*" />
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*resetPassword*">
>>>>>  <wsdl:input name="*resetPassword*" message="*tns:resetPassword*" />
>>>>>  <wsdl:output name="*resetPasswordResponse*"
>>>>> message="*tns:resetPasswordResponse*" />
>>>>>  </wsdl:operation>
>>>>>  </wsdl:portType>
>>>>> - <#> <wsdl:binding name="*ExampleConnectorServiceSoapBinding*"
>>>>> type="*tns:ConnectorService*">
>>>>>  <soap:binding style="*document*" transport="*
>>>>> http://schemas.xmlsoap.org/soap/http*" />
>>>>> - <#> <wsdl:operation name="*add*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*add*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*addResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*testConnection*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*testConnection*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*testConnectionResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*expirePassword*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*expirePassword*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*expirePasswordResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*lookup*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*lookup*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*lookupResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*delete*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*delete*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*deleteResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*validatePassword*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*validatePassword*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*validatePasswordResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*modify*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*modify*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*modifyResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*setPassword*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*setPassword*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*setPasswordResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*resetPassword*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*resetPassword*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*resetPasswordResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>>  </wsdl:binding>
>>>>> - <#> <wsdl:service name="*ExampleConnectorService*">
>>>>> - <#> <wsdl:port name="*ExampleConnectorServicePort*"
>>>>> binding="*tns:ExampleConnectorServiceSoapBinding*">
>>>>>  <soap:address location="*
>>>>> http://localhost:8080/idm-connector-ws/ExampleConnectorService*" />
>>>>>  </wsdl:port>
>>>>>  </wsdl:service>
>>>>>  </wsdl:definitions>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>
>>
>

Re: Problem Creating JAXWS Client

by bimargulies :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

The QName in here has to use the same namespace URI as those below in your
service.

Service service = Service.create(QName.valueOf(
>
> connector.getServiceUrl()));
>                    ConnectorService port = service.getPort(new QName("
> http://localhost:8080/idm-connector-ws", "ExampleConnectorServicePort"),
> ConnectorService.class);





On Sun, Nov 8, 2009 at 12:57 PM, Suneet Shah <suneetshah2000@...>wrote:

> Hi Benson:
>
> In my interface, I have the following annotation:
>
> @WebService(targetNamespace = "http://www.openiam.org/service/connector")
>
> In my service implementation, I have the following :
>
> @WebService(endpointInterface="org.openiam.spml2.interf.ConnectorService",
>       targetNamespace="http://www.openiam.org/service/connector",
>       portName = "ExampleConnectorServicePort",
>       serviceName="ExampleConnectorService")
>
> I am a bit lost at this point. How should I have this setup?  The services
> are running on my local tomcat.
>
> Thanks for your help
>
> Regards
> Suneet
>
>
> Benson Margulies wrote:
>
>> The port is defined as {http://www.openiam.org/service/connector}
>> ExampleConnectorServicePort<
>> http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>but
>>
>> you are somehow trying to use a QName with a URL on localhost to
>> reference it.
>>
>> On Sat, Nov 7, 2009 at 8:17 PM, Suneet Shah <suneetshah2000@...
>> >wrote:
>>
>>
>>
>>> Thanks Benson.
>>>
>>>
>>> Benson Margulies wrote:
>>>
>>>
>>>
>>>> Attachments don't work on this list. Open a JIRA if you need to give us
>>>> one.
>>>>
>>>>
>>>> On Sat, Nov 7, 2009 at 8:14 PM, Suneet Shah <suneetshah2000@...
>>>>
>>>>
>>>>> wrote:
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>> Hello:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> I am trying to create a client to consume a service that I built using
>>>>>> CXF. However, I am running into the exception below where it can't
>>>>>> find
>>>>>> the
>>>>>> Port. I have attached my wsdl.
>>>>>>
>>>>>> I have tried two different ways to build the client. One is based on
>>>>>> the
>>>>>> code that I saw from wsdl2java and the other using jaxwsfactor.y.
>>>>>>
>>>>>> If I leave out the wsdl location, I get serialization errors.
>>>>>>
>>>>>> Thanks for your help
>>>>>> Suneet
>>>>>>
>>>>>>                  Service service =
>>>>>> Service.create(QName.valueOf(connector.getServiceUrl()));
>>>>>>                  ConnectorService port = service.getPort(new QName("
>>>>>> http://localhost:8080/idm-connector-ws",
>>>>>> "ExampleConnectorServicePort"),
>>>>>> ConnectorService.class);
>>>>>>
>>>>>>
>>>>>>                                            AddRequestType addReqType =
>>>>>> new
>>>>>> AddRequestType();
>>>>>>                             PSOIdentifierType idType = new
>>>>>> PSOIdentifierType(lg.getId().getLogin(),null, "target");
>>>>>>                             addReqType.setPsoID(idType);
>>>>>>                             addReqType.setRequestID("R4589");
>>>>>>
>>>>>> addReqType.setTargetID(lg.getId().getManagedSysId());
>>>>>>
>>>>>> ExtensibleUser extUser = new ExtensibleUser();
>>>>>>                             extUser.setName(user.getFirstName() + " "
>>>>>> +
>>>>>> user.getLastName());
>>>>>>                             extUser.getAttributes().add(new
>>>>>> ExtensibleAttribute("cn",user.getFirstName() + " " +
>>>>>> user.getLastName()));
>>>>>>
>>>>>>
>>>>>> addReqType.getData().getAny().add(extUser);
>>>>>>                             port.add(addReqType);
>>>>>>
>>>>>> alternative JAXWS Code:
>>>>>>
>>>>>>                             JaxWsProxyFactoryBean factory = new
>>>>>> JaxWsProxyFactoryBean();
>>>>>>                             factory.getInInterceptors().add(new
>>>>>> LoggingInInterceptor());
>>>>>>                             factory.getOutInterceptors().add(new
>>>>>> LoggingOutInterceptor());
>>>>>>
>>>>>> factory.setServiceClass(ConnectorService.class);
>>>>>>                                                              log.info
>>>>>> ("Service
>>>>>> endpoint : " + connector.getServiceUrl() );
>>>>>>
>>>>>>  factory.setAddress(connector.getServiceUrl());
>>>>>>
>>>>>>  factory.setWsdlURL("
>>>>>> http://localhost:8080/idm-connector-ws/ExampleConnectorService?wsdl
>>>>>> ");
>>>>>>                              ConnectorService port =
>>>>>> (ConnectorService)
>>>>>> factory.create();
>>>>>>
>>>>>>
>>>>>> Exception:
>>>>>>
>>>>>> WARNING: Application has thrown exception, unwinding now
>>>>>> org.apache.cxf.interceptor.Fault: Port {
>>>>>> http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort<http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>
>>>>>> <http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort
>>>>>> >
>>>>>> <http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort
>>>>>> >not
>>>>>> found.
>>>>>>
>>>>>>     at
>>>>>>
>>>>>>
>>>>>> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:148)
>>>>>>
>>>>>>     at
>>>>>>
>>>>>>
>>>>>> org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:83)
>>>>>>
>>>>>>     at
>>>>>>
>>>>>>
>>>>>> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:114)
>>>>>>
>>>>>>     at
>>>>>>
>>>>>>
>>>>>> org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:55)
>>>>>>     at
>>>>>> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker
>>>>>> .java:68)
>>>>>>
>>>>>> Caused by:
>>>>>>
>>>>>> Caused by: javax.xml.ws.WebServiceException: Port {
>>>>>> http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort<http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>
>>>>>> <http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort
>>>>>> >
>>>>>> <http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort
>>>>>> >not
>>>>>> found.
>>>>>>
>>>>>>     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:311)
>>>>>>     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:302)
>>>>>>     at javax.xml.ws.Service.getPort(Service.java:92)
>>>>>>     at
>>>>>>
>>>>>>
>>>>>> org.openiam.provision.service.ProvisionServiceImpl.addUser(ProvisionServiceImpl.java:224)
>>>>>>
>>>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>     at
>>>>>>
>>>>>>
>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>>
>>>>>>
>>>>>>  WSDL:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>> <?xml version="1.0" encoding="UTF-8" ?>
>>>>> - <#> <wsdl:definitions xmlns:ns1="*
>>>>> http://cxf.apache.org/bindings/xformat*" xmlns:soap="*
>>>>> http://schemas.xmlsoap.org/wsdl/soap/*" xmlns:tns="*
>>>>> http://www.openiam.org/service/connector*" xmlns:wsdl="*
>>>>> http://schemas.xmlsoap.org/wsdl/*" xmlns:xsd="*
>>>>> http://www.w3.org/2001/XMLSchema*" name="*ExampleConnectorService*"
>>>>> targetNamespace="*http://www.openiam.org/service/connector*">
>>>>> - <#> <wsdl:types>
>>>>> - <#> <xs:schema attributeFormDefault="*unqualified*"
>>>>> elementFormDefault="*qualified*" targetNamespace="*
>>>>> http://www.openiam.org/service/connector*" xmlns:tns="*
>>>>> http://www.openiam.org/service/connector*" xmlns:xs="*
>>>>> http://www.w3.org/2001/XMLSchema*">
>>>>>  <xs:element name="*addRequest*" type="*tns:AddRequestType*" />
>>>>>  <xs:element name="*addResponse*" type="*tns:AddResponseType*" />
>>>>>  <xs:element name="*deleteRequest*" type="*tns:DeleteRequestType*" />
>>>>>  <xs:element name="*deleteResponse*" type="*tns:ResponseType*" />
>>>>>  <xs:element name="*expirePasswordRequest*"
>>>>> type="*tns:ExpirePasswordRequestType*" />
>>>>>  <xs:element name="*expirePasswordResponse*" type="*tns:ResponseType*"
>>>>> />
>>>>>  <xs:element name="*extensibleUser*" type="*tns:ExtensibleUser*" />
>>>>>  <xs:element name="*listTargetsRequest*"
>>>>> type="*tns:ListTargetsRequestType*" />
>>>>>  <xs:element name="*listTargetsResponse*"
>>>>> type="*tns:ListTargetsResponseType*" />
>>>>>  <xs:element name="*lookupRequest*" type="*tns:LookupRequestType*" />
>>>>>  <xs:element name="*lookupResponse*" type="*tns:LookupResponseType*" />
>>>>>  <xs:element name="*modifyRequest*" type="*tns:ModifyRequestType*" />
>>>>>  <xs:element name="*modifyResponse*" type="*tns:ModifyResponseType*" />
>>>>>  <xs:element name="*resetPasswordRequest*"
>>>>> type="*tns:ResetPasswordRequestType*" />
>>>>>  <xs:element name="*resetPasswordResponse*"
>>>>> type="*tns:ResetPasswordResponseType*" />
>>>>>  <xs:element name="*select*" type="*tns:SelectionType*" />
>>>>>  <xs:element name="*setPasswordRequest*"
>>>>> type="*tns:SetPasswordRequestType*" />
>>>>>  <xs:element name="*setPasswordResponse*" type="*tns:ResponseType*" />
>>>>>  <xs:element name="*validatePasswordRequest*"
>>>>> type="*tns:ValidatePasswordRequestType*" />
>>>>>  <xs:element name="*validatePasswordResponse*"
>>>>> type="*tns:ValidatePasswordResponseType*" />
>>>>> - <#> <xs:complexType name="*ExtensibleType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:any maxOccurs="*unbounded*" minOccurs="*0*" namespace="*##other*"
>>>>> processContents="*lax*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*SelectionType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:QueryClauseType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>> name="*namespacePrefixMap*" nillable="*true*"
>>>>> type="*tns:NamespacePrefixMappingType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*path*" type="*xs:string*" use="*required*" />
>>>>>  <xs:attribute name="*namespaceURI*" type="*xs:string*"
>>>>> use="*required*"
>>>>> />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*QueryClauseType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>  <xs:sequence />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*NamespacePrefixMappingType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>  <xs:sequence />
>>>>>  <xs:attribute name="*prefix*" type="*xs:string*" use="*required*" />
>>>>>  <xs:attribute name="*namespace*" type="*xs:string*" use="*required*"
>>>>> />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*AddRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*psoID*"
>>>>> type="*tns:PSOIdentifierType*"
>>>>> />
>>>>>  <xs:element minOccurs="*0*" name="*containerID*"
>>>>> type="*tns:PSOIdentifierType*" />
>>>>>  <xs:element name="*data*" type="*tns:ExtensibleType*" />
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>> name="*capabilityData*" nillable="*true*"
>>>>> type="*tns:CapabilityDataType*"
>>>>> />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*RequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>  <xs:sequence />
>>>>>  <xs:attribute name="*requestID*" type="*xs:ID*" />
>>>>>  <xs:attribute name="*executionMode*" type="*tns:ExecutionModeType*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*PSOIdentifierType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:IdentifierType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*containerID*"
>>>>> type="*tns:PSOIdentifierType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*IdentifierType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>  <xs:sequence />
>>>>>  <xs:attribute name="*ID*" type="*xs:string*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*CapabilityDataType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>  <xs:sequence />
>>>>>  <xs:attribute name="*mustUnderstand*" type="*xs:boolean*" />
>>>>>  <xs:attribute name="*capabilityURI*" type="*xs:anyURI*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*LookupRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ListTargetsRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>>  <xs:sequence />
>>>>>  <xs:attribute name="*profile*" type="*xs:anyURI*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*DeleteRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*recursive*" type="*xs:boolean*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ModifyRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>  <xs:element maxOccurs="*unbounded*" name="*modification*"
>>>>> type="*tns:ModificationType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ModificationType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*component*"
>>>>> type="*tns:SelectionType*"
>>>>> />
>>>>>  <xs:element minOccurs="*0*" name="*data*" type="*tns:ExtensibleType*"
>>>>> />
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>> name="*capabilityData*" nillable="*true*"
>>>>> type="*tns:CapabilityDataType*"
>>>>> />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*modificationMode*"
>>>>> type="*tns:ModificationModeType*"
>>>>> />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*CapabilityType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*appliesTo*"
>>>>> nillable="*true*" type="*tns:SchemaEntityRefType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*namespaceURI*" type="*xs:anyURI*" />
>>>>>  <xs:attribute name="*location*" type="*xs:anyURI*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*SchemaEntityRefType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>  <xs:sequence />
>>>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>>>  <xs:attribute name="*entityName*" type="*xs:string*" />
>>>>>  <xs:attribute name="*isContainer*" type="*xs:boolean*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ModifyResponseType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ResponseType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>> name="*errorMessage*"
>>>>> nillable="*true*" type="*xs:string*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*status*" type="*tns:StatusCodeType*"
>>>>> use="*required*"
>>>>> />
>>>>>  <xs:attribute name="*requestID*" type="*xs:ID*" />
>>>>>  <xs:attribute name="*error*" type="*tns:ErrorCode*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*PSOType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>  <xs:element minOccurs="*0*" name="*data*" type="*tns:ExtensibleType*"
>>>>> />
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>> name="*capabilityData*" nillable="*true*"
>>>>> type="*tns:CapabilityDataType*"
>>>>> />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*AddResponseType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ListTargetsResponseType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*target*"
>>>>> nillable="*true*" type="*tns:TargetType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*TargetType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element maxOccurs="*unbounded*" name="*schema*"
>>>>> type="*tns:SchemaType*" />
>>>>>  <xs:element minOccurs="*0*" name="*capabilities*"
>>>>> type="*tns:CapabilitiesListType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>>>  <xs:attribute name="*profile*" type="*xs:anyURI*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*SchemaType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>> name="*supportedSchemaEntity*" nillable="*true*"
>>>>> type="*tns:SchemaEntityRefType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*ref*" type="*xs:anyURI*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*CapabilitiesListType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>> name="*capability*"
>>>>> nillable="*true*" type="*tns:CapabilityType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*LookupResponseType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ExtensibleUser*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*address*"
>>>>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*phone*"
>>>>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*email*"
>>>>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*group*"
>>>>> nillable="*true*" type="*tns:ExtensibleGroup*" />
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*role*"
>>>>> nillable="*true*" type="*tns:ExtensibleRole*" />
>>>>>  </xs:sequence>
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ExtensibleObject*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*objectId*" type="*xs:string*" />
>>>>>  <xs:element minOccurs="*0*" name="*name*" type="*xs:string*" />
>>>>>  <xs:element name="*operation*" type="*xs:int*" />
>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>> name="*attributes*"
>>>>> nillable="*true*" type="*tns:ExtensibleAttribute*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ExtensibleAttribute*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*name*" type="*xs:string*" />
>>>>>  <xs:element minOccurs="*0*" name="*value*" type="*xs:string*" />
>>>>>  <xs:element name="*operation*" type="*xs:int*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ExtensibleGroup*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>>>>>  <xs:sequence />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ExtensibleRole*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>>>>>  <xs:sequence />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ExpirePasswordRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:attribute name="*remainingLogins*" type="*xs:int*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ValidatePasswordRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>  <xs:element name="*password*" type="*xs:string*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ValidatePasswordResponseType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>>  <xs:sequence />
>>>>>  <xs:attribute name="*valid*" type="*xs:boolean*" />
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*SetPasswordRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>  <xs:element name="*password*" type="*xs:string*" />
>>>>>  <xs:element minOccurs="*0*" name="*currentPassword*"
>>>>> type="*xs:string*"
>>>>> />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ResetPasswordRequestType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:complexType name="*ResetPasswordResponseType*">
>>>>> - <#> <xs:complexContent>
>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*password*" type="*xs:string*" />
>>>>>  </xs:sequence>
>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>  </xs:extension>
>>>>>  </xs:complexContent>
>>>>>  </xs:complexType>
>>>>> - <#> <xs:simpleType name="*ReturnDataType*">
>>>>> - <#> <xs:restriction base="*xs:string*">
>>>>>  <xs:enumeration value="*identifier*" />
>>>>>  <xs:enumeration value="*data*" />
>>>>>  <xs:enumeration value="*everything*" />
>>>>>  </xs:restriction>
>>>>>  </xs:simpleType>
>>>>> - <#> <xs:simpleType name="*ExecutionModeType*">
>>>>> - <#> <xs:restriction base="*xs:string*">
>>>>>  <xs:enumeration value="*synchronous*" />
>>>>>  <xs:enumeration value="*asynchronous*" />
>>>>>  </xs:restriction>
>>>>>  </xs:simpleType>
>>>>> - <#> <xs:simpleType name="*ModificationModeType*">
>>>>> - <#> <xs:restriction base="*xs:string*">
>>>>>  <xs:enumeration value="*add*" />
>>>>>  <xs:enumeration value="*replace*" />
>>>>>  <xs:enumeration value="*delete*" />
>>>>>  </xs:restriction>
>>>>>  </xs:simpleType>
>>>>> - <#> <xs:simpleType name="*StatusCodeType*">
>>>>> - <#> <xs:restriction base="*xs:string*">
>>>>>  <xs:enumeration value="*success*" />
>>>>>  <xs:enumeration value="*failure*" />
>>>>>  <xs:enumeration value="*pending*" />
>>>>>  </xs:restriction>
>>>>>  </xs:simpleType>
>>>>> - <#> <xs:simpleType name="*ErrorCode*">
>>>>> - <#> <xs:restriction base="*xs:string*">
>>>>>  <xs:enumeration value="*malformedRequest*" />
>>>>>  <xs:enumeration value="*unsupportedOperation*" />
>>>>>  <xs:enumeration value="*unsupportedIdentifierType*" />
>>>>>  <xs:enumeration value="*noSuchIdentifier*" />
>>>>>  <xs:enumeration value="*customError*" />
>>>>>  <xs:enumeration value="*unsupportedExecutionMode*" />
>>>>>  <xs:enumeration value="*invalidContainment*" />
>>>>>  <xs:enumeration value="*noSuchRequest*" />
>>>>>  <xs:enumeration value="*unsupportedSelectionType*" />
>>>>>  <xs:enumeration value="*resultSetToLarge*" />
>>>>>  <xs:enumeration value="*unsupportedProfile*" />
>>>>>  <xs:enumeration value="*invalidIdentifier*" />
>>>>>  <xs:enumeration value="*alreadyExists*" />
>>>>>  <xs:enumeration value="*containerNotEmpty*" />
>>>>>  </xs:restriction>
>>>>>  </xs:simpleType>
>>>>>  <xs:element name="*add*" type="*tns:add*" />
>>>>> - <#> <xs:complexType name="*add*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>>>> type="*tns:AddRequestType*"
>>>>> />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*testConnection*" type="*tns:testConnection*" />
>>>>> - <#> <xs:complexType name="*testConnection*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*targetID*" type="*xs:string*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*testConnectionResponse*"
>>>>> type="*tns:testConnectionResponse*" />
>>>>> - <#> <xs:complexType name="*testConnectionResponse*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element name="*return*" type="*xs:boolean*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*expirePassword*" type="*tns:expirePassword*" />
>>>>> - <#> <xs:complexType name="*expirePassword*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*request*"
>>>>> type="*tns:ExpirePasswordRequestType*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*lookup*" type="*tns:lookup*" />
>>>>> - <#> <xs:complexType name="*lookup*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>>>> type="*tns:LookupRequestType*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*delete*" type="*tns:delete*" />
>>>>> - <#> <xs:complexType name="*delete*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>>>> type="*tns:DeleteRequestType*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*validatePassword*" type="*tns:validatePassword*" />
>>>>> - <#> <xs:complexType name="*validatePassword*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*request*"
>>>>> type="*tns:ValidatePasswordRequestType*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*modify*" type="*tns:modify*" />
>>>>> - <#> <xs:complexType name="*modify*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>>>> type="*tns:ModifyRequestType*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*setPassword*" type="*tns:setPassword*" />
>>>>> - <#> <xs:complexType name="*setPassword*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*request*"
>>>>> type="*tns:SetPasswordRequestType*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  <xs:element name="*resetPassword*" type="*tns:resetPassword*" />
>>>>> - <#> <xs:complexType name="*resetPassword*">
>>>>> - <#> <xs:sequence>
>>>>>  <xs:element minOccurs="*0*" name="*request*"
>>>>> type="*tns:ResetPasswordRequestType*" />
>>>>>  </xs:sequence>
>>>>>  </xs:complexType>
>>>>>  </xs:schema>
>>>>>  </wsdl:types>
>>>>> - <#> <wsdl:message name="*resetPasswordResponse*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:resetPasswordResponse*"
>>>>> />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*modifyResponse*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:modifyResponse*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*delete*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:delete*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*setPassword*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:setPassword*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*deleteResponse*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:deleteResponse*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*setPasswordResponse*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:setPasswordResponse*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*validatePasswordResponse*">
>>>>>  <wsdl:part name="*parameters*"
>>>>> element="*tns:validatePasswordResponse*"
>>>>> />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*lookupResponse*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:lookupResponse*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*testConnection*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:testConnection*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*modify*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:modify*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*testConnectionResponse*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:testConnectionResponse*"
>>>>> />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*add*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:add*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*expirePasswordResponse*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:expirePasswordResponse*"
>>>>> />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*lookup*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:lookup*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*addResponse*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:addResponse*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*expirePassword*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:expirePassword*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*validatePassword*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:validatePassword*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:message name="*resetPassword*">
>>>>>  <wsdl:part name="*parameters*" element="*tns:resetPassword*" />
>>>>>  </wsdl:message>
>>>>> - <#> <wsdl:portType name="*ConnectorService*">
>>>>> - <#> <wsdl:operation name="*add*">
>>>>>  <wsdl:input name="*add*" message="*tns:add*" />
>>>>>  <wsdl:output name="*addResponse*" message="*tns:addResponse*" />
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*testConnection*">
>>>>>  <wsdl:input name="*testConnection*" message="*tns:testConnection*" />
>>>>>  <wsdl:output name="*testConnectionResponse*"
>>>>> message="*tns:testConnectionResponse*" />
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*expirePassword*">
>>>>>  <wsdl:input name="*expirePassword*" message="*tns:expirePassword*" />
>>>>>  <wsdl:output name="*expirePasswordResponse*"
>>>>> message="*tns:expirePasswordResponse*" />
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*lookup*">
>>>>>  <wsdl:input name="*lookup*" message="*tns:lookup*" />
>>>>>  <wsdl:output name="*lookupResponse*" message="*tns:lookupResponse*" />
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*delete*">
>>>>>  <wsdl:input name="*delete*" message="*tns:delete*" />
>>>>>  <wsdl:output name="*deleteResponse*" message="*tns:deleteResponse*" />
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*validatePassword*">
>>>>>  <wsdl:input name="*validatePassword*" message="*tns:validatePassword*"
>>>>> />
>>>>>  <wsdl:output name="*validatePasswordResponse*"
>>>>> message="*tns:validatePasswordResponse*" />
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*modify*">
>>>>>  <wsdl:input name="*modify*" message="*tns:modify*" />
>>>>>  <wsdl:output name="*modifyResponse*" message="*tns:modifyResponse*" />
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*setPassword*">
>>>>>  <wsdl:input name="*setPassword*" message="*tns:setPassword*" />
>>>>>  <wsdl:output name="*setPasswordResponse*"
>>>>> message="*tns:setPasswordResponse*" />
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*resetPassword*">
>>>>>  <wsdl:input name="*resetPassword*" message="*tns:resetPassword*" />
>>>>>  <wsdl:output name="*resetPasswordResponse*"
>>>>> message="*tns:resetPasswordResponse*" />
>>>>>  </wsdl:operation>
>>>>>  </wsdl:portType>
>>>>> - <#> <wsdl:binding name="*ExampleConnectorServiceSoapBinding*"
>>>>> type="*tns:ConnectorService*">
>>>>>  <soap:binding style="*document*" transport="*
>>>>> http://schemas.xmlsoap.org/soap/http*" />
>>>>> - <#> <wsdl:operation name="*add*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*add*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*addResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*testConnection*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*testConnection*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*testConnectionResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*expirePassword*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*expirePassword*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*expirePasswordResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*lookup*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*lookup*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*lookupResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*delete*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*delete*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*deleteResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*validatePassword*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*validatePassword*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*validatePasswordResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*modify*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*modify*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*modifyResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*setPassword*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*setPassword*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*setPasswordResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>> - <#> <wsdl:operation name="*resetPassword*">
>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>> - <#> <wsdl:input name="*resetPassword*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:input>
>>>>> - <#> <wsdl:output name="*resetPasswordResponse*">
>>>>>  <soap:body use="*literal*" />
>>>>>  </wsdl:output>
>>>>>  </wsdl:operation>
>>>>>  </wsdl:binding>
>>>>> - <#> <wsdl:service name="*ExampleConnectorService*">
>>>>> - <#> <wsdl:port name="*ExampleConnectorServicePort*"
>>>>> binding="*tns:ExampleConnectorServiceSoapBinding*">
>>>>>  <soap:address location="*
>>>>> http://localhost:8080/idm-connector-ws/ExampleConnectorService*" />
>>>>>  </wsdl:port>
>>>>>  </wsdl:service>
>>>>>  </wsdl:definitions>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>
>>
>

Re: Problem Creating JAXWS Client

by sshah :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Benson,

Thanks. That worked. I modified it to include the following:

                                Service service =
Service.create(QName.valueOf("http://localhost:8080/idm-connector-ws/ExampleConnectorService"));

                                service.addPort(new
QName("http://www.openiam.org/service/connector","ExampleConnectorServicePort"),
                                        SOAPBinding.SOAP11HTTP_BINDING,
                                       
"http://localhost:8080/idm-connector-ws/ExampleConnectorService");
                               
                                ConnectorService port =
service.getPort(new
QName("http://www.openiam.org/service/connector","ExampleConnectorServicePort"),

                                         ConnectorService.class);



Benson Margulies wrote:

> The QName in here has to use the same namespace URI as those below in your
> service.
>
> Service service = Service.create(QName.valueOf(
>  
>> connector.getServiceUrl()));
>>                    ConnectorService port = service.getPort(new QName("
>> http://localhost:8080/idm-connector-ws", "ExampleConnectorServicePort"),
>> ConnectorService.class);
>>    
>
>
>
>
>
> On Sun, Nov 8, 2009 at 12:57 PM, Suneet Shah <suneetshah2000@...>wrote:
>
>  
>> Hi Benson:
>>
>> In my interface, I have the following annotation:
>>
>> @WebService(targetNamespace = "http://www.openiam.org/service/connector")
>>
>> In my service implementation, I have the following :
>>
>> @WebService(endpointInterface="org.openiam.spml2.interf.ConnectorService",
>>       targetNamespace="http://www.openiam.org/service/connector",
>>       portName = "ExampleConnectorServicePort",
>>       serviceName="ExampleConnectorService")
>>
>> I am a bit lost at this point. How should I have this setup?  The services
>> are running on my local tomcat.
>>
>> Thanks for your help
>>
>> Regards
>> Suneet
>>
>>
>> Benson Margulies wrote:
>>
>>    
>>> The port is defined as {http://www.openiam.org/service/connector}
>>> ExampleConnectorServicePort<
>>> http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>but
>>>
>>> you are somehow trying to use a QName with a URL on localhost to
>>> reference it.
>>>
>>> On Sat, Nov 7, 2009 at 8:17 PM, Suneet Shah <suneetshah2000@...
>>>      
>>>> wrote:
>>>>        
>>>
>>>      
>>>> Thanks Benson.
>>>>
>>>>
>>>> Benson Margulies wrote:
>>>>
>>>>
>>>>
>>>>        
>>>>> Attachments don't work on this list. Open a JIRA if you need to give us
>>>>> one.
>>>>>
>>>>>
>>>>> On Sat, Nov 7, 2009 at 8:14 PM, Suneet Shah <suneetshah2000@...
>>>>>
>>>>>
>>>>>          
>>>>>> wrote:
>>>>>>
>>>>>>
>>>>>>            
>>>>>
>>>>>          
>>>>>> Hello:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>            
>>>>>>> I am trying to create a client to consume a service that I built using
>>>>>>> CXF. However, I am running into the exception below where it can't
>>>>>>> find
>>>>>>> the
>>>>>>> Port. I have attached my wsdl.
>>>>>>>
>>>>>>> I have tried two different ways to build the client. One is based on
>>>>>>> the
>>>>>>> code that I saw from wsdl2java and the other using jaxwsfactor.y.
>>>>>>>
>>>>>>> If I leave out the wsdl location, I get serialization errors.
>>>>>>>
>>>>>>> Thanks for your help
>>>>>>> Suneet
>>>>>>>
>>>>>>>                  Service service =
>>>>>>> Service.create(QName.valueOf(connector.getServiceUrl()));
>>>>>>>                  ConnectorService port = service.getPort(new QName("
>>>>>>> http://localhost:8080/idm-connector-ws",
>>>>>>> "ExampleConnectorServicePort"),
>>>>>>> ConnectorService.class);
>>>>>>>
>>>>>>>
>>>>>>>                                            AddRequestType addReqType =
>>>>>>> new
>>>>>>> AddRequestType();
>>>>>>>                             PSOIdentifierType idType = new
>>>>>>> PSOIdentifierType(lg.getId().getLogin(),null, "target");
>>>>>>>                             addReqType.setPsoID(idType);
>>>>>>>                             addReqType.setRequestID("R4589");
>>>>>>>
>>>>>>> addReqType.setTargetID(lg.getId().getManagedSysId());
>>>>>>>
>>>>>>> ExtensibleUser extUser = new ExtensibleUser();
>>>>>>>                             extUser.setName(user.getFirstName() + " "
>>>>>>> +
>>>>>>> user.getLastName());
>>>>>>>                             extUser.getAttributes().add(new
>>>>>>> ExtensibleAttribute("cn",user.getFirstName() + " " +
>>>>>>> user.getLastName()));
>>>>>>>
>>>>>>>
>>>>>>> addReqType.getData().getAny().add(extUser);
>>>>>>>                             port.add(addReqType);
>>>>>>>
>>>>>>> alternative JAXWS Code:
>>>>>>>
>>>>>>>                             JaxWsProxyFactoryBean factory = new
>>>>>>> JaxWsProxyFactoryBean();
>>>>>>>                             factory.getInInterceptors().add(new
>>>>>>> LoggingInInterceptor());
>>>>>>>                             factory.getOutInterceptors().add(new
>>>>>>> LoggingOutInterceptor());
>>>>>>>
>>>>>>> factory.setServiceClass(ConnectorService.class);
>>>>>>>                                                              log.info
>>>>>>> ("Service
>>>>>>> endpoint : " + connector.getServiceUrl() );
>>>>>>>
>>>>>>>  factory.setAddress(connector.getServiceUrl());
>>>>>>>
>>>>>>>  factory.setWsdlURL("
>>>>>>> http://localhost:8080/idm-connector-ws/ExampleConnectorService?wsdl
>>>>>>> ");
>>>>>>>                              ConnectorService port =
>>>>>>> (ConnectorService)
>>>>>>> factory.create();
>>>>>>>
>>>>>>>
>>>>>>> Exception:
>>>>>>>
>>>>>>> WARNING: Application has thrown exception, unwinding now
>>>>>>> org.apache.cxf.interceptor.Fault: Port {
>>>>>>> http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort<http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>
>>>>>>> <http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort
>>>>>>>              
>>>>>>> <http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort
>>>>>>>              
>>>>>>>> not
>>>>>>>>                
>>>>>>> found.
>>>>>>>
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:148)
>>>>>>>
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>> org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:83)
>>>>>>>
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:114)
>>>>>>>
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>> org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:55)
>>>>>>>     at
>>>>>>> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker
>>>>>>> .java:68)
>>>>>>>
>>>>>>> Caused by:
>>>>>>>
>>>>>>> Caused by: javax.xml.ws.WebServiceException: Port {
>>>>>>> http://localhost:8080/idm-connector-ws}ExampleConnectorServicePort<http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>
>>>>>>> <http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort
>>>>>>>              
>>>>>>> <http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort
>>>>>>>              
>>>>>>>> not
>>>>>>>>                
>>>>>>> found.
>>>>>>>
>>>>>>>     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:311)
>>>>>>>     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:302)
>>>>>>>     at javax.xml.ws.Service.getPort(Service.java:92)
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>> org.openiam.provision.service.ProvisionServiceImpl.addUser(ProvisionServiceImpl.java:224)
>>>>>>>
>>>>>>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>     at
>>>>>>>
>>>>>>>
>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>>>
>>>>>>>
>>>>>>>  WSDL:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>              
>>>>>> <?xml version="1.0" encoding="UTF-8" ?>
>>>>>> - <#> <wsdl:definitions xmlns:ns1="*
>>>>>> http://cxf.apache.org/bindings/xformat*" xmlns:soap="*
>>>>>> http://schemas.xmlsoap.org/wsdl/soap/*" xmlns:tns="*
>>>>>> http://www.openiam.org/service/connector*" xmlns:wsdl="*
>>>>>> http://schemas.xmlsoap.org/wsdl/*" xmlns:xsd="*
>>>>>> http://www.w3.org/2001/XMLSchema*" name="*ExampleConnectorService*"
>>>>>> targetNamespace="*http://www.openiam.org/service/connector*">
>>>>>> - <#> <wsdl:types>
>>>>>> - <#> <xs:schema attributeFormDefault="*unqualified*"
>>>>>> elementFormDefault="*qualified*" targetNamespace="*
>>>>>> http://www.openiam.org/service/connector*" xmlns:tns="*
>>>>>> http://www.openiam.org/service/connector*" xmlns:xs="*
>>>>>> http://www.w3.org/2001/XMLSchema*">
>>>>>>  <xs:element name="*addRequest*" type="*tns:AddRequestType*" />
>>>>>>  <xs:element name="*addResponse*" type="*tns:AddResponseType*" />
>>>>>>  <xs:element name="*deleteRequest*" type="*tns:DeleteRequestType*" />
>>>>>>  <xs:element name="*deleteResponse*" type="*tns:ResponseType*" />
>>>>>>  <xs:element name="*expirePasswordRequest*"
>>>>>> type="*tns:ExpirePasswordRequestType*" />
>>>>>>  <xs:element name="*expirePasswordResponse*" type="*tns:ResponseType*"
>>>>>> />
>>>>>>  <xs:element name="*extensibleUser*" type="*tns:ExtensibleUser*" />
>>>>>>  <xs:element name="*listTargetsRequest*"
>>>>>> type="*tns:ListTargetsRequestType*" />
>>>>>>  <xs:element name="*listTargetsResponse*"
>>>>>> type="*tns:ListTargetsResponseType*" />
>>>>>>  <xs:element name="*lookupRequest*" type="*tns:LookupRequestType*" />
>>>>>>  <xs:element name="*lookupResponse*" type="*tns:LookupResponseType*" />
>>>>>>  <xs:element name="*modifyRequest*" type="*tns:ModifyRequestType*" />
>>>>>>  <xs:element name="*modifyResponse*" type="*tns:ModifyResponseType*" />
>>>>>>  <xs:element name="*resetPasswordRequest*"
>>>>>> type="*tns:ResetPasswordRequestType*" />
>>>>>>  <xs:element name="*resetPasswordResponse*"
>>>>>> type="*tns:ResetPasswordResponseType*" />
>>>>>>  <xs:element name="*select*" type="*tns:SelectionType*" />
>>>>>>  <xs:element name="*setPasswordRequest*"
>>>>>> type="*tns:SetPasswordRequestType*" />
>>>>>>  <xs:element name="*setPasswordResponse*" type="*tns:ResponseType*" />
>>>>>>  <xs:element name="*validatePasswordRequest*"
>>>>>> type="*tns:ValidatePasswordRequestType*" />
>>>>>>  <xs:element name="*validatePasswordResponse*"
>>>>>> type="*tns:ValidatePasswordResponseType*" />
>>>>>> - <#> <xs:complexType name="*ExtensibleType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:any maxOccurs="*unbounded*" minOccurs="*0*" namespace="*##other*"
>>>>>> processContents="*lax*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*SelectionType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:QueryClauseType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>>> name="*namespacePrefixMap*" nillable="*true*"
>>>>>> type="*tns:NamespacePrefixMappingType*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:attribute name="*path*" type="*xs:string*" use="*required*" />
>>>>>>  <xs:attribute name="*namespaceURI*" type="*xs:string*"
>>>>>> use="*required*"
>>>>>> />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*QueryClauseType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>>  <xs:sequence />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*NamespacePrefixMappingType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>>  <xs:sequence />
>>>>>>  <xs:attribute name="*prefix*" type="*xs:string*" use="*required*" />
>>>>>>  <xs:attribute name="*namespace*" type="*xs:string*" use="*required*"
>>>>>> />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*AddRequestType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*psoID*"
>>>>>> type="*tns:PSOIdentifierType*"
>>>>>> />
>>>>>>  <xs:element minOccurs="*0*" name="*containerID*"
>>>>>> type="*tns:PSOIdentifierType*" />
>>>>>>  <xs:element name="*data*" type="*tns:ExtensibleType*" />
>>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>>> name="*capabilityData*" nillable="*true*"
>>>>>> type="*tns:CapabilityDataType*"
>>>>>> />
>>>>>>  </xs:sequence>
>>>>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>>>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*RequestType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>>  <xs:sequence />
>>>>>>  <xs:attribute name="*requestID*" type="*xs:ID*" />
>>>>>>  <xs:attribute name="*executionMode*" type="*tns:ExecutionModeType*" />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*PSOIdentifierType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:IdentifierType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*containerID*"
>>>>>> type="*tns:PSOIdentifierType*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*IdentifierType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>>  <xs:sequence />
>>>>>>  <xs:attribute name="*ID*" type="*xs:string*" />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*CapabilityDataType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>>  <xs:sequence />
>>>>>>  <xs:attribute name="*mustUnderstand*" type="*xs:boolean*" />
>>>>>>  <xs:attribute name="*capabilityURI*" type="*xs:anyURI*" />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*LookupRequestType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*ListTargetsRequestType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>>>  <xs:sequence />
>>>>>>  <xs:attribute name="*profile*" type="*xs:anyURI*" />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*DeleteRequestType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:attribute name="*recursive*" type="*xs:boolean*" />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*ModifyRequestType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>>  <xs:element maxOccurs="*unbounded*" name="*modification*"
>>>>>> type="*tns:ModificationType*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:attribute name="*returnData*" type="*tns:ReturnDataType*" />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*ModificationType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*component*"
>>>>>> type="*tns:SelectionType*"
>>>>>> />
>>>>>>  <xs:element minOccurs="*0*" name="*data*" type="*tns:ExtensibleType*"
>>>>>> />
>>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>>> name="*capabilityData*" nillable="*true*"
>>>>>> type="*tns:CapabilityDataType*"
>>>>>> />
>>>>>>  </xs:sequence>
>>>>>>  <xs:attribute name="*modificationMode*"
>>>>>> type="*tns:ModificationModeType*"
>>>>>> />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*CapabilityType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*appliesTo*"
>>>>>> nillable="*true*" type="*tns:SchemaEntityRefType*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:attribute name="*namespaceURI*" type="*xs:anyURI*" />
>>>>>>  <xs:attribute name="*location*" type="*xs:anyURI*" />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*SchemaEntityRefType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>>  <xs:sequence />
>>>>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>>>>  <xs:attribute name="*entityName*" type="*xs:string*" />
>>>>>>  <xs:attribute name="*isContainer*" type="*xs:boolean*" />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*ModifyResponseType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*ResponseType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>>> name="*errorMessage*"
>>>>>> nillable="*true*" type="*xs:string*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:attribute name="*status*" type="*tns:StatusCodeType*"
>>>>>> use="*required*"
>>>>>> />
>>>>>>  <xs:attribute name="*requestID*" type="*xs:ID*" />
>>>>>>  <xs:attribute name="*error*" type="*tns:ErrorCode*" />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*PSOType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>>  <xs:element minOccurs="*0*" name="*data*" type="*tns:ExtensibleType*"
>>>>>> />
>>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>>> name="*capabilityData*" nillable="*true*"
>>>>>> type="*tns:CapabilityDataType*"
>>>>>> />
>>>>>>  </xs:sequence>
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*AddResponseType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*ListTargetsResponseType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*target*"
>>>>>> nillable="*true*" type="*tns:TargetType*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*TargetType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element maxOccurs="*unbounded*" name="*schema*"
>>>>>> type="*tns:SchemaType*" />
>>>>>>  <xs:element minOccurs="*0*" name="*capabilities*"
>>>>>> type="*tns:CapabilitiesListType*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:attribute name="*targetID*" type="*xs:string*" />
>>>>>>  <xs:attribute name="*profile*" type="*xs:anyURI*" />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*SchemaType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>>> name="*supportedSchemaEntity*" nillable="*true*"
>>>>>> type="*tns:SchemaEntityRefType*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:attribute name="*ref*" type="*xs:anyURI*" />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*CapabilitiesListType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ExtensibleType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>>> name="*capability*"
>>>>>> nillable="*true*" type="*tns:CapabilityType*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*LookupResponseType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*pso*" type="*tns:PSOType*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*ExtensibleUser*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*address*"
>>>>>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*phone*"
>>>>>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*email*"
>>>>>> nillable="*true*" type="*tns:ExtensibleObject*" />
>>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*group*"
>>>>>> nillable="*true*" type="*tns:ExtensibleGroup*" />
>>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*" name="*role*"
>>>>>> nillable="*true*" type="*tns:ExtensibleRole*" />
>>>>>>  </xs:sequence>
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*ExtensibleObject*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*objectId*" type="*xs:string*" />
>>>>>>  <xs:element minOccurs="*0*" name="*name*" type="*xs:string*" />
>>>>>>  <xs:element name="*operation*" type="*xs:int*" />
>>>>>>  <xs:element maxOccurs="*unbounded*" minOccurs="*0*"
>>>>>> name="*attributes*"
>>>>>> nillable="*true*" type="*tns:ExtensibleAttribute*" />
>>>>>>  </xs:sequence>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*ExtensibleAttribute*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*name*" type="*xs:string*" />
>>>>>>  <xs:element minOccurs="*0*" name="*value*" type="*xs:string*" />
>>>>>>  <xs:element name="*operation*" type="*xs:int*" />
>>>>>>  </xs:sequence>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*ExtensibleGroup*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>>>>>>  <xs:sequence />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*ExtensibleRole*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ExtensibleObject*">
>>>>>>  <xs:sequence />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*ExpirePasswordRequestType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:attribute name="*remainingLogins*" type="*xs:int*" />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*ValidatePasswordRequestType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>>  <xs:element name="*password*" type="*xs:string*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*ValidatePasswordResponseType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>>>  <xs:sequence />
>>>>>>  <xs:attribute name="*valid*" type="*xs:boolean*" />
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*SetPasswordRequestType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>>  <xs:element name="*password*" type="*xs:string*" />
>>>>>>  <xs:element minOccurs="*0*" name="*currentPassword*"
>>>>>> type="*xs:string*"
>>>>>> />
>>>>>>  </xs:sequence>
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*ResetPasswordRequestType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:RequestType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element name="*psoID*" type="*tns:PSOIdentifierType*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:complexType name="*ResetPasswordResponseType*">
>>>>>> - <#> <xs:complexContent>
>>>>>> - <#> <xs:extension base="*tns:ResponseType*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*password*" type="*xs:string*" />
>>>>>>  </xs:sequence>
>>>>>>  <xs:anyAttribute namespace="*##other*" processContents="*skip*" />
>>>>>>  </xs:extension>
>>>>>>  </xs:complexContent>
>>>>>>  </xs:complexType>
>>>>>> - <#> <xs:simpleType name="*ReturnDataType*">
>>>>>> - <#> <xs:restriction base="*xs:string*">
>>>>>>  <xs:enumeration value="*identifier*" />
>>>>>>  <xs:enumeration value="*data*" />
>>>>>>  <xs:enumeration value="*everything*" />
>>>>>>  </xs:restriction>
>>>>>>  </xs:simpleType>
>>>>>> - <#> <xs:simpleType name="*ExecutionModeType*">
>>>>>> - <#> <xs:restriction base="*xs:string*">
>>>>>>  <xs:enumeration value="*synchronous*" />
>>>>>>  <xs:enumeration value="*asynchronous*" />
>>>>>>  </xs:restriction>
>>>>>>  </xs:simpleType>
>>>>>> - <#> <xs:simpleType name="*ModificationModeType*">
>>>>>> - <#> <xs:restriction base="*xs:string*">
>>>>>>  <xs:enumeration value="*add*" />
>>>>>>  <xs:enumeration value="*replace*" />
>>>>>>  <xs:enumeration value="*delete*" />
>>>>>>  </xs:restriction>
>>>>>>  </xs:simpleType>
>>>>>> - <#> <xs:simpleType name="*StatusCodeType*">
>>>>>> - <#> <xs:restriction base="*xs:string*">
>>>>>>  <xs:enumeration value="*success*" />
>>>>>>  <xs:enumeration value="*failure*" />
>>>>>>  <xs:enumeration value="*pending*" />
>>>>>>  </xs:restriction>
>>>>>>  </xs:simpleType>
>>>>>> - <#> <xs:simpleType name="*ErrorCode*">
>>>>>> - <#> <xs:restriction base="*xs:string*">
>>>>>>  <xs:enumeration value="*malformedRequest*" />
>>>>>>  <xs:enumeration value="*unsupportedOperation*" />
>>>>>>  <xs:enumeration value="*unsupportedIdentifierType*" />
>>>>>>  <xs:enumeration value="*noSuchIdentifier*" />
>>>>>>  <xs:enumeration value="*customError*" />
>>>>>>  <xs:enumeration value="*unsupportedExecutionMode*" />
>>>>>>  <xs:enumeration value="*invalidContainment*" />
>>>>>>  <xs:enumeration value="*noSuchRequest*" />
>>>>>>  <xs:enumeration value="*unsupportedSelectionType*" />
>>>>>>  <xs:enumeration value="*resultSetToLarge*" />
>>>>>>  <xs:enumeration value="*unsupportedProfile*" />
>>>>>>  <xs:enumeration value="*invalidIdentifier*" />
>>>>>>  <xs:enumeration value="*alreadyExists*" />
>>>>>>  <xs:enumeration value="*containerNotEmpty*" />
>>>>>>  </xs:restriction>
>>>>>>  </xs:simpleType>
>>>>>>  <xs:element name="*add*" type="*tns:add*" />
>>>>>> - <#> <xs:complexType name="*add*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>>>>> type="*tns:AddRequestType*"
>>>>>> />
>>>>>>  </xs:sequence>
>>>>>>  </xs:complexType>
>>>>>>  <xs:element name="*testConnection*" type="*tns:testConnection*" />
>>>>>> - <#> <xs:complexType name="*testConnection*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*targetID*" type="*xs:string*" />
>>>>>>  </xs:sequence>
>>>>>>  </xs:complexType>
>>>>>>  <xs:element name="*testConnectionResponse*"
>>>>>> type="*tns:testConnectionResponse*" />
>>>>>> - <#> <xs:complexType name="*testConnectionResponse*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element name="*return*" type="*xs:boolean*" />
>>>>>>  </xs:sequence>
>>>>>>  </xs:complexType>
>>>>>>  <xs:element name="*expirePassword*" type="*tns:expirePassword*" />
>>>>>> - <#> <xs:complexType name="*expirePassword*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*request*"
>>>>>> type="*tns:ExpirePasswordRequestType*" />
>>>>>>  </xs:sequence>
>>>>>>  </xs:complexType>
>>>>>>  <xs:element name="*lookup*" type="*tns:lookup*" />
>>>>>> - <#> <xs:complexType name="*lookup*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>>>>> type="*tns:LookupRequestType*" />
>>>>>>  </xs:sequence>
>>>>>>  </xs:complexType>
>>>>>>  <xs:element name="*delete*" type="*tns:delete*" />
>>>>>> - <#> <xs:complexType name="*delete*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>>>>> type="*tns:DeleteRequestType*" />
>>>>>>  </xs:sequence>
>>>>>>  </xs:complexType>
>>>>>>  <xs:element name="*validatePassword*" type="*tns:validatePassword*" />
>>>>>> - <#> <xs:complexType name="*validatePassword*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*request*"
>>>>>> type="*tns:ValidatePasswordRequestType*" />
>>>>>>  </xs:sequence>
>>>>>>  </xs:complexType>
>>>>>>  <xs:element name="*modify*" type="*tns:modify*" />
>>>>>> - <#> <xs:complexType name="*modify*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*reqType*"
>>>>>> type="*tns:ModifyRequestType*" />
>>>>>>  </xs:sequence>
>>>>>>  </xs:complexType>
>>>>>>  <xs:element name="*setPassword*" type="*tns:setPassword*" />
>>>>>> - <#> <xs:complexType name="*setPassword*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*request*"
>>>>>> type="*tns:SetPasswordRequestType*" />
>>>>>>  </xs:sequence>
>>>>>>  </xs:complexType>
>>>>>>  <xs:element name="*resetPassword*" type="*tns:resetPassword*" />
>>>>>> - <#> <xs:complexType name="*resetPassword*">
>>>>>> - <#> <xs:sequence>
>>>>>>  <xs:element minOccurs="*0*" name="*request*"
>>>>>> type="*tns:ResetPasswordRequestType*" />
>>>>>>  </xs:sequence>
>>>>>>  </xs:complexType>
>>>>>>  </xs:schema>
>>>>>>  </wsdl:types>
>>>>>> - <#> <wsdl:message name="*resetPasswordResponse*">
>>>>>>  <wsdl:part name="*parameters*" element="*tns:resetPasswordResponse*"
>>>>>> />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:message name="*modifyResponse*">
>>>>>>  <wsdl:part name="*parameters*" element="*tns:modifyResponse*" />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:message name="*delete*">
>>>>>>  <wsdl:part name="*parameters*" element="*tns:delete*" />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:message name="*setPassword*">
>>>>>>  <wsdl:part name="*parameters*" element="*tns:setPassword*" />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:message name="*deleteResponse*">
>>>>>>  <wsdl:part name="*parameters*" element="*tns:deleteResponse*" />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:message name="*setPasswordResponse*">
>>>>>>  <wsdl:part name="*parameters*" element="*tns:setPasswordResponse*" />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:message name="*validatePasswordResponse*">
>>>>>>  <wsdl:part name="*parameters*"
>>>>>> element="*tns:validatePasswordResponse*"
>>>>>> />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:message name="*lookupResponse*">
>>>>>>  <wsdl:part name="*parameters*" element="*tns:lookupResponse*" />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:message name="*testConnection*">
>>>>>>  <wsdl:part name="*parameters*" element="*tns:testConnection*" />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:message name="*modify*">
>>>>>>  <wsdl:part name="*parameters*" element="*tns:modify*" />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:message name="*testConnectionResponse*">
>>>>>>  <wsdl:part name="*parameters*" element="*tns:testConnectionResponse*"
>>>>>> />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:message name="*add*">
>>>>>>  <wsdl:part name="*parameters*" element="*tns:add*" />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:message name="*expirePasswordResponse*">
>>>>>>  <wsdl:part name="*parameters*" element="*tns:expirePasswordResponse*"
>>>>>> />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:message name="*lookup*">
>>>>>>  <wsdl:part name="*parameters*" element="*tns:lookup*" />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:message name="*addResponse*">
>>>>>>  <wsdl:part name="*parameters*" element="*tns:addResponse*" />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:message name="*expirePassword*">
>>>>>>  <wsdl:part name="*parameters*" element="*tns:expirePassword*" />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:message name="*validatePassword*">
>>>>>>  <wsdl:part name="*parameters*" element="*tns:validatePassword*" />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:message name="*resetPassword*">
>>>>>>  <wsdl:part name="*parameters*" element="*tns:resetPassword*" />
>>>>>>  </wsdl:message>
>>>>>> - <#> <wsdl:portType name="*ConnectorService*">
>>>>>> - <#> <wsdl:operation name="*add*">
>>>>>>  <wsdl:input name="*add*" message="*tns:add*" />
>>>>>>  <wsdl:output name="*addResponse*" message="*tns:addResponse*" />
>>>>>>  </wsdl:operation>
>>>>>> - <#> <wsdl:operation name="*testConnection*">
>>>>>>  <wsdl:input name="*testConnection*" message="*tns:testConnection*" />
>>>>>>  <wsdl:output name="*testConnectionResponse*"
>>>>>> message="*tns:testConnectionResponse*" />
>>>>>>  </wsdl:operation>
>>>>>> - <#> <wsdl:operation name="*expirePassword*">
>>>>>>  <wsdl:input name="*expirePassword*" message="*tns:expirePassword*" />
>>>>>>  <wsdl:output name="*expirePasswordResponse*"
>>>>>> message="*tns:expirePasswordResponse*" />
>>>>>>  </wsdl:operation>
>>>>>> - <#> <wsdl:operation name="*lookup*">
>>>>>>  <wsdl:input name="*lookup*" message="*tns:lookup*" />
>>>>>>  <wsdl:output name="*lookupResponse*" message="*tns:lookupResponse*" />
>>>>>>  </wsdl:operation>
>>>>>> - <#> <wsdl:operation name="*delete*">
>>>>>>  <wsdl:input name="*delete*" message="*tns:delete*" />
>>>>>>  <wsdl:output name="*deleteResponse*" message="*tns:deleteResponse*" />
>>>>>>  </wsdl:operation>
>>>>>> - <#> <wsdl:operation name="*validatePassword*">
>>>>>>  <wsdl:input name="*validatePassword*" message="*tns:validatePassword*"
>>>>>> />
>>>>>>  <wsdl:output name="*validatePasswordResponse*"
>>>>>> message="*tns:validatePasswordResponse*" />
>>>>>>  </wsdl:operation>
>>>>>> - <#> <wsdl:operation name="*modify*">
>>>>>>  <wsdl:input name="*modify*" message="*tns:modify*" />
>>>>>>  <wsdl:output name="*modifyResponse*" message="*tns:modifyResponse*" />
>>>>>>  </wsdl:operation>
>>>>>> - <#> <wsdl:operation name="*setPassword*">
>>>>>>  <wsdl:input name="*setPassword*" message="*tns:setPassword*" />
>>>>>>  <wsdl:output name="*setPasswordResponse*"
>>>>>> message="*tns:setPasswordResponse*" />
>>>>>>  </wsdl:operation>
>>>>>> - <#> <wsdl:operation name="*resetPassword*">
>>>>>>  <wsdl:input name="*resetPassword*" message="*tns:resetPassword*" />
>>>>>>  <wsdl:output name="*resetPasswordResponse*"
>>>>>> message="*tns:resetPasswordResponse*" />
>>>>>>  </wsdl:operation>
>>>>>>  </wsdl:portType>
>>>>>> - <#> <wsdl:binding name="*ExampleConnectorServiceSoapBinding*"
>>>>>> type="*tns:ConnectorService*">
>>>>>>  <soap:binding style="*document*" transport="*
>>>>>> http://schemas.xmlsoap.org/soap/http*" />
>>>>>> - <#> <wsdl:operation name="*add*">
>>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>>> - <#> <wsdl:input name="*add*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:input>
>>>>>> - <#> <wsdl:output name="*addResponse*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:output>
>>>>>>  </wsdl:operation>
>>>>>> - <#> <wsdl:operation name="*testConnection*">
>>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>>> - <#> <wsdl:input name="*testConnection*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:input>
>>>>>> - <#> <wsdl:output name="*testConnectionResponse*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:output>
>>>>>>  </wsdl:operation>
>>>>>> - <#> <wsdl:operation name="*expirePassword*">
>>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>>> - <#> <wsdl:input name="*expirePassword*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:input>
>>>>>> - <#> <wsdl:output name="*expirePasswordResponse*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:output>
>>>>>>  </wsdl:operation>
>>>>>> - <#> <wsdl:operation name="*lookup*">
>>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>>> - <#> <wsdl:input name="*lookup*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:input>
>>>>>> - <#> <wsdl:output name="*lookupResponse*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:output>
>>>>>>  </wsdl:operation>
>>>>>> - <#> <wsdl:operation name="*delete*">
>>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>>> - <#> <wsdl:input name="*delete*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:input>
>>>>>> - <#> <wsdl:output name="*deleteResponse*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:output>
>>>>>>  </wsdl:operation>
>>>>>> - <#> <wsdl:operation name="*validatePassword*">
>>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>>> - <#> <wsdl:input name="*validatePassword*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:input>
>>>>>> - <#> <wsdl:output name="*validatePasswordResponse*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:output>
>>>>>>  </wsdl:operation>
>>>>>> - <#> <wsdl:operation name="*modify*">
>>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>>> - <#> <wsdl:input name="*modify*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:input>
>>>>>> - <#> <wsdl:output name="*modifyResponse*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:output>
>>>>>>  </wsdl:operation>
>>>>>> - <#> <wsdl:operation name="*setPassword*">
>>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>>> - <#> <wsdl:input name="*setPassword*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:input>
>>>>>> - <#> <wsdl:output name="*setPasswordResponse*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:output>
>>>>>>  </wsdl:operation>
>>>>>> - <#> <wsdl:operation name="*resetPassword*">
>>>>>>  <soap:operation soapAction="" style="*document*" />
>>>>>> - <#> <wsdl:input name="*resetPassword*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:input>
>>>>>> - <#> <wsdl:output name="*resetPasswordResponse*">
>>>>>>  <soap:body use="*literal*" />
>>>>>>  </wsdl:output>
>>>>>>  </wsdl:operation>
>>>>>>  </wsdl:binding>
>>>>>> - <#> <wsdl:service name="*ExampleConnectorService*">
>>>>>> - <#> <wsdl:port name="*ExampleConnectorServicePort*"
>>>>>> binding="*tns:ExampleConnectorServiceSoapBinding*">
>>>>>>  <soap:address location="*
>>>>>> http://localhost:8080/idm-connector-ws/ExampleConnectorService*" />
>>>>>>  </wsdl:port>
>>>>>>  </wsdl:service>
>>>>>>  </wsdl:definitions>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>            
>>>>>
>>>>>          
>>>      
>
>