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 <[email protected]>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 <[email protected] >> >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> >>> >>> >>> >>> >> >> >> >
