Hi Benson:
In my interface, I have the following annotation:
@WebService(targetNamespace = "http://www.openiam.org/service/connector")
In my service implementation, I have the following :
@WebService(endpointInterface="org.openiam.spml2.interf.ConnectorService",
targetNamespace="http://www.openiam.org/service/connector",
portName = "ExampleConnectorServicePort",
serviceName="ExampleConnectorService")
I am a bit lost at this point. How should I have this setup? The
services are running on my local tomcat.
Thanks for your help
Regards
Suneet
Benson Margulies wrote:
The port is defined as {http://www.openiam.org/service/connector}
ExampleConnectorServicePort<http://localhost:8080/idm-connector-ws%7DExampleConnectorServicePort>but
you are somehow trying to use a QName with a URL on localhost to
reference it.
On Sat, Nov 7, 2009 at 8:17 PM, Suneet Shah <[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>