cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benson Margulies <bimargul...@gmail.com>
Subject Re: Problem Creating JAXWS Client
Date Sun, 08 Nov 2009 17:51:53 GMT
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@gmail.com>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@gmail.com
>> >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>
>>>
>>>
>>>
>>>
>>
>>
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message