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