|
View:
New views
9 Messages
—
Rating Filter:
Alert me
|
|
|
Problem Creating JAXWS ClientHello:
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 ClientHello:
> > 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 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 ClientAttachments 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 ClientThanks 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 ClientThe 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 ClientHi 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 ClientThe 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 ClientThe 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 ClientBenson,
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> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>> > > |
| Free embeddable forum powered by Nabble | Forum Help |