hello everyone,
this is a follow-up on the doc/literal posting/conversation with anne.
my client is now sending requests, and receiving responses from the
server. the soap messages look good, but the client can't seem to
deserialize the responses from the server. i also regenerated the wsdl
with pretty parameter names (to do that with the ant task, you just have
to supply the optional parameter implClass). i have attached a file
that has a request, one with a response, and my pretty wsdl.
if anyone has any idea for me, as to why doc/literal wrapped gives
deserialization errors at the client (not server), and rpc/encoded works
perfectly, i'd love to be enlightened.
thanks!
nate
here is the exception:
(core.CollectionFactory 59 ) Using JDK 1.4 collections
(crypto.CryptoFactory 113 ) Using Crypto Engine
[org.apache.ws.security.components.crypto.Merlin]
(crypto.CryptoFactory 113 ) Using Crypto Engine
[org.apache.ws.security.components.crypto.Merlin]
(signature.Reference ? ) Verification successful for
URI "#id-2183019"
(client.Call 2450) Exception:
org.xml.sax.SAXException: SimpleDeserializer encountered a child
element, which is NOT expected, in something it was trying to deserialize.
at
org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:145)
at
org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
at org.apache.axis.client.Call.invoke(Call.java:2448)
at org.apache.axis.client.Call.invoke(Call.java:2347)
at org.apache.axis.client.Call.invoke(Call.java:1804)
at
org.springframework.remoting.jaxrpc.JaxRpcPortClientInterceptor.performJaxRpcCall(JaxRpcPortClientInterceptor.java:492)
at
org.springframework.remoting.jaxrpc.JaxRpcPortClientInterceptor.invoke(JaxRpcPortClientInterceptor.java:451)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
at $Proxy0.getMembers(Unknown Source)
at
edu.iu.uis.osg.client.GroupsClientImpl.getMembers(GroupsClientImpl.java:43)
at edu.iu.uis.osg.TestGroupsClient.main(TestGroupsClient.java:46)
org.springframework.remoting.RemoteAccessException: Cannot access remote
service
[{http://services.osg.uis.iu.edu/GroupsService}GroupsServiceService];
nested exception is org.apache.axis.AxisFault: ; nested exception is:
org.xml.sax.SAXException: SimpleDeserializer encountered a child
element, which is NOT expected, in something it was trying to deserialize.
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: SimpleDeserializer encountered a
child element, which is NOT expected, in something it was trying to
deserialize.
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException:
SimpleDeserializer encountered a child element, which is NOT expected,
in something it was trying to deserialize.
at
org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:145)
at
org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
at org.apache.axis.client.Call.invoke(Call.java:2448)
at org.apache.axis.client.Call.invoke(Call.java:2347)
at org.apache.axis.client.Call.invoke(Call.java:1804)
at
org.springframework.remoting.jaxrpc.JaxRpcPortClientInterceptor.performJaxRpcCall(JaxRpcPortClientInterceptor.java:492)
at
org.springframework.remoting.jaxrpc.JaxRpcPortClientInterceptor.invoke(JaxRpcPortClientInterceptor.java:451)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
at $Proxy0.getMembers(Unknown Source)
at
edu.iu.uis.osg.client.GroupsClientImpl.getMembers(GroupsClientImpl.java:43)
at edu.iu.uis.osg.TestGroupsClient.main(TestGroupsClient.java:46)
{http://xml.apache.org/axis/}hostname:bl-uits-naj
org.xml.sax.SAXException: SimpleDeserializer encountered a child
element, which is NOT expected, in something it was trying to deserialize.
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
at org.apache.axis.client.Call.invoke(Call.java:2451)
at org.apache.axis.client.Call.invoke(Call.java:2347)
at org.apache.axis.client.Call.invoke(Call.java:1804)
at
org.springframework.remoting.jaxrpc.JaxRpcPortClientInterceptor.performJaxRpcCall(JaxRpcPortClientInterceptor.java:492)
at
org.springframework.remoting.jaxrpc.JaxRpcPortClientInterceptor.invoke(JaxRpcPortClientInterceptor.java:451)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
at $Proxy0.getMembers(Unknown Source)
at
edu.iu.uis.osg.client.GroupsClientImpl.getMembers(GroupsClientImpl.java:43)
at edu.iu.uis.osg.TestGroupsClient.main(TestGroupsClient.java:46)
Caused by: org.xml.sax.SAXException: SimpleDeserializer encountered a
child element, which is NOT expected, in something it was trying to
deserialize.
at
org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:145)
at
org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
at org.apache.axis.client.Call.invoke(Call.java:2448)
... 9 more
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
soapenv:mustUnderstand="1">
<wsse:BinarySecurityToken
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
wsu:Id="CertId-612575">
MIIBnjCCAQcCBEKeIDgwDQYJKoZIhvcNAQEEBQAwFjEUMBIGA1UEAxMLeHhhcHBjbGllbnQwHhcN
MDUwNjAxMjA1MzEyWhcNMDUwODMwMjA1MzEyWjAWMRQwEgYDVQQDEwt4eGFwcGNsaWVudDCBnzAN
BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEApzheMPxZkjI8iIpPv08KIGI7hMWOzx47b2ym4VGH+b3N
L90rT/3Eghll2RhRaJIAWuh/A3ZeVog6B4vdH6rSLWPpOrKsC+R4ar1dHqvCNYdtC5A2CWA4l9ni
cLbFamviOKCxanbfFtCAvqwUJXdFDV0V7HgqKJRdErZlO1tl0FkCAwEAATANBgkqhkiG9w0BAQQF
AAOBgQBgH/EID1mBxU2gMmuycfw/Gx41wALz7VwuOFWBWQdj2btnm2fM4GVmLk9BlijL3QSLb3b9
GRboZJBkbUB91MfD6I0PZ5OyaeqP53sM1QX+7amWZ3Yzo7ZwViWCmFUXK4LZid/8Ue2mxB4mRKo+
lwow5/kMTf7n1LnIXjMPTf6hMg==
</wsse:BinarySecurityToken><ds:Signature
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:CanonicalizationMethod>
<ds:SignatureMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod>
<ds:Reference URI="#id-17777129">
<ds:Transforms>
<ds:Transform
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:Transform>
</ds:Transforms>
<ds:DigestMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>8RNu7ptPVN2LtjEg89Dm8QF0YPg=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
JP7ZSv85gX3oSBmH2sWq4Vb2OzKyCzVwuxJH5RDkfR+AYBwJV31l2Jk504QjZnT3LrEy5ITXXFRW
bL6Zj1Z3340Z9hOQvLDKulv5OiEy+m+o+5wQnT/30lDvjVhI7SicjQQ869hbHuRG4PV3soWaJSJq
/JOW9yBa+KgzIxf4t5w=
</ds:SignatureValue>
<ds:KeyInfo Id="KeyId-1744155">
<wsse:SecurityTokenReference
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="STRId-28523022"><wsse:Reference URI="#CertId-612575"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"></wsse:Reference></wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature>
</wsse:Security>
</soapenv:Header>
<soapenv:Body
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="id-17777129">
<getMembers xmlns="http://services.osg.uis.iu.edu/GroupsService">
<group>bl-uits-onestart-admin</group>
</getMembers>
</soapenv:Body>
</soapenv:Envelope>
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
soapenv:mustUnderstand="1">
<wsse:BinarySecurityToken
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
wsu:Id="CertId-1360796">
MIIBzjCCATcCBEKgt7EwDQYJKoZIhvcNAQEEBQAwLjEsMCoGA1UEAxMjT25lU3RhcnQgU2hhcmVk
IFNlcnZpY2VzIChEZXYvVGVzdCkwHhcNMDUwNjAzMjAwNDAxWhcNMDUwOTAxMjAwNDAxWjAuMSww
KgYDVQQDEyNPbmVTdGFydCBTaGFyZWQgU2VydmljZXMgKERldi9UZXN0KTCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEA0qMOjOtyNFEB2hABFUVEuN8whXkHZNRcumHEPBRtCw7WV7UEMNMPp+UG
PUKKu7czeFMgUujEk5EhlwkwtLqsC6LiHjedY4JAHkjguHKPkK4amrdlS+DlvKJw1LK+TMCIZSW3
T0XMQG+82ohIhK2YP3HKeCkxdndc3zdwg/t2RYsCAwEAATANBgkqhkiG9w0BAQQFAAOBgQAkZSMx
JvyGn/orAztBS6olTD22gmfJZMU7giHD5cZtbkXlO8a/bINznZT92bjKc7eQDASxL25LSn597gqp
MGv9k+Ff+VtBf1nlqjar4HlvvdrBeVMdCeKRchkFaXhoguXEMW51Jc0v5l1sjFvwEW1QTUVwejFw
kSPckpv5s+J8AA==
</wsse:BinarySecurityToken>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:CanonicalizationMethod>
<ds:SignatureMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod>
<ds:Reference URI="#id-2183019">
<ds:Transforms>
<ds:Transform
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:Transform>
</ds:Transforms>
<ds:DigestMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>obwCs44EWxoZkfSHMJ+fBKSRGdg=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
nswhKVmi48TjYqNEj0GOVMZ5B01ezQa9at8GxxbGVALMN9LRPzHrja0KPFVPG4ZUX1e6Co4Cb14+
UJYQxv3/L+3tx7i9UCbzilDbwRX2SlF3xNMs+DRNC88vmeWsvD5rwVokNUtZDRxbBxTN0I5RYmpM
Ua033BCP4HCtdkBfFN8=
</ds:SignatureValue>
<ds:KeyInfo Id="KeyId-9629061">
<wsse:SecurityTokenReference
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="STRId-30149135"><wsse:Reference URI="#CertId-1360796"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"></wsse:Reference></wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature>
</wsse:Security>
</soapenv:Header>
<soapenv:Body
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="id-2183019">
<getMembersResponse xmlns="http://services.osg.uis.iu.edu/GroupsService">
<getMembersReturn>
<getMembersReturn>jhopf</getMembersReturn>
<getMembersReturn>thrclark</getMembersReturn>
<getMembersReturn>jitrue</getMembersReturn>
<getMembersReturn>bmcgough</getMembersReturn>
<getMembersReturn>xqi</getMembersReturn>
<getMembersReturn>songupta</getMembersReturn>
<getMembersReturn>rkirkend</getMembersReturn>
<getMembersReturn>pmckown</getMembersReturn>
<getMembersReturn>temay</getMembersReturn>
<getMembersReturn>natjohns</getMembersReturn>
<getMembersReturn>jthomas</getMembersReturn>
</getMembersReturn>
</getMembersResponse>
</soapenv:Body>
</soapenv:Envelope>
<?xml version="1.0" encoding="UTF-8" ?>
<wsdl:definitions
targetNamespace="http://services.osg.uis.iu.edu/GroupsService"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://services.osg.uis.iu.edu/GroupsService"
xmlns:intf="http://services.osg.uis.iu.edu/GroupsService"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--
WSDL created by Apache Axis version: 1.2
Built on May 03, 2005 (02:20:24 EDT)
-->
<wsdl:types>
<schema elementFormDefault="qualified"
targetNamespace="http://services.osg.uis.iu.edu/GroupsService"
xmlns="http://www.w3.org/2001/XMLSchema">
<element name="createGroup">
<complexType>
<sequence>
<element name="group" type="xsd:string" />
</sequence>
</complexType>
</element>
<element name="createGroupResponse">
<complexType>
<sequence>
<element name="createGroupReturn" type="xsd:int" />
</sequence>
</complexType>
</element>
<element name="getMembers">
<complexType>
<sequence>
<element name="group" type="xsd:string" />
</sequence>
</complexType>
</element>
<element name="getMembersResponse">
<complexType>
<sequence>
<element maxOccurs="unbounded" name="getMembersReturn" type="xsd:string" />
</sequence>
</complexType>
</element>
<element name="createGroupWithMembers">
<complexType>
<sequence>
<element name="group" type="xsd:string" />
<element maxOccurs="unbounded" name="members" type="xsd:string" />
</sequence>
</complexType>
</element>
<element name="createGroupWithMembersResponse">
<complexType>
<sequence>
<element name="createGroupWithMembersReturn" type="xsd:int" />
</sequence>
</complexType>
</element>
<element name="addMember">
<complexType>
<sequence>
<element name="group" type="xsd:string" />
<element name="member" type="xsd:string" />
</sequence>
</complexType>
</element>
<element name="addMemberResponse">
<complexType>
<sequence>
<element name="addMemberReturn" type="xsd:int" />
</sequence>
</complexType>
</element>
<element name="addMembers">
<complexType>
<sequence>
<element name="group" type="xsd:string" />
<element maxOccurs="unbounded" name="members" type="xsd:string" />
</sequence>
</complexType>
</element>
<element name="addMembersResponse">
<complexType>
<sequence>
<element name="addMembersReturn" type="xsd:int" />
</sequence>
</complexType>
</element>
<element name="removeMember">
<complexType>
<sequence>
<element name="group" type="xsd:string" />
<element name="member" type="xsd:string" />
</sequence>
</complexType>
</element>
<element name="removeMemberResponse">
<complexType>
<sequence>
<element name="removeMemberReturn" type="xsd:int" />
</sequence>
</complexType>
</element>
<element name="removeMembers">
<complexType>
<sequence>
<element name="group" type="xsd:string" />
<element maxOccurs="unbounded" name="members" type="xsd:string" />
</sequence>
</complexType>
</element>
<element name="removeMembersResponse">
<complexType>
<sequence>
<element name="removeMembersReturn" type="xsd:int" />
</sequence>
</complexType>
</element>
<element name="removeGroup">
<complexType>
<sequence>
<element name="group" type="xsd:string" />
</sequence>
</complexType>
</element>
<element name="removeGroupResponse">
<complexType>
<sequence>
<element name="removeGroupReturn" type="xsd:int" />
</sequence>
</complexType>
</element>
</schema>
</wsdl:types>
<wsdl:message name="createGroupWithMembersResponse">
<wsdl:part element="impl:createGroupWithMembersResponse" name="parameters" />
</wsdl:message>
<wsdl:message name="createGroupWithMembersRequest">
<wsdl:part element="impl:createGroupWithMembers" name="parameters" />
</wsdl:message>
<wsdl:message name="removeMembersResponse">
<wsdl:part element="impl:removeMembersResponse" name="parameters" />
</wsdl:message>
<wsdl:message name="removeMemberRequest">
<wsdl:part element="impl:removeMember" name="parameters" />
</wsdl:message>
<wsdl:message name="removeMemberResponse">
<wsdl:part element="impl:removeMemberResponse" name="parameters" />
</wsdl:message>
<wsdl:message name="getMembersResponse">
<wsdl:part element="impl:getMembersResponse" name="parameters" />
</wsdl:message>
<wsdl:message name="addMembersResponse">
<wsdl:part element="impl:addMembersResponse" name="parameters" />
</wsdl:message>
<wsdl:message name="removeGroupRequest">
<wsdl:part element="impl:removeGroup" name="parameters" />
</wsdl:message>
<wsdl:message name="createGroupRequest">
<wsdl:part element="impl:createGroup" name="parameters" />
</wsdl:message>
<wsdl:message name="addMemberResponse">
<wsdl:part element="impl:addMemberResponse" name="parameters" />
</wsdl:message>
<wsdl:message name="addMemberRequest">
<wsdl:part element="impl:addMember" name="parameters" />
</wsdl:message>
<wsdl:message name="createGroupResponse">
<wsdl:part element="impl:createGroupResponse" name="parameters" />
</wsdl:message>
<wsdl:message name="getMembersRequest">
<wsdl:part element="impl:getMembers" name="parameters" />
</wsdl:message>
<wsdl:message name="removeMembersRequest">
<wsdl:part element="impl:removeMembers" name="parameters" />
</wsdl:message>
<wsdl:message name="removeGroupResponse">
<wsdl:part element="impl:removeGroupResponse" name="parameters" />
</wsdl:message>
<wsdl:message name="addMembersRequest">
<wsdl:part element="impl:addMembers" name="parameters" />
</wsdl:message>
<wsdl:portType name="GroupsService">
<wsdl:operation name="createGroup">
<wsdl:input message="impl:createGroupRequest" name="createGroupRequest" />
<wsdl:output message="impl:createGroupResponse" name="createGroupResponse" />
</wsdl:operation>
<wsdl:operation name="getMembers">
<wsdl:input message="impl:getMembersRequest" name="getMembersRequest" />
<wsdl:output message="impl:getMembersResponse" name="getMembersResponse" />
</wsdl:operation>
<wsdl:operation name="createGroupWithMembers">
<wsdl:input message="impl:createGroupWithMembersRequest"
name="createGroupWithMembersRequest" />
<wsdl:output message="impl:createGroupWithMembersResponse"
name="createGroupWithMembersResponse" />
</wsdl:operation>
<wsdl:operation name="addMember">
<wsdl:input message="impl:addMemberRequest" name="addMemberRequest" />
<wsdl:output message="impl:addMemberResponse" name="addMemberResponse" />
</wsdl:operation>
<wsdl:operation name="addMembers">
<wsdl:input message="impl:addMembersRequest" name="addMembersRequest" />
<wsdl:output message="impl:addMembersResponse" name="addMembersResponse" />
</wsdl:operation>
<wsdl:operation name="removeMember">
<wsdl:input message="impl:removeMemberRequest" name="removeMemberRequest" />
<wsdl:output message="impl:removeMemberResponse" name="removeMemberResponse"
/>
</wsdl:operation>
<wsdl:operation name="removeMembers">
<wsdl:input message="impl:removeMembersRequest" name="removeMembersRequest"
/>
<wsdl:output message="impl:removeMembersResponse"
name="removeMembersResponse" />
</wsdl:operation>
<wsdl:operation name="removeGroup">
<wsdl:input message="impl:removeGroupRequest" name="removeGroupRequest" />
<wsdl:output message="impl:removeGroupResponse" name="removeGroupResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="GroupsServiceServiceSoapBinding"
type="impl:GroupsService">
<wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="createGroup">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="createGroupRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="createGroupResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getMembers">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="getMembersRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="getMembersResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="createGroupWithMembers">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="createGroupWithMembersRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="createGroupWithMembersResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="addMember">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="addMemberRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="addMemberResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="addMembers">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="addMembersRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="addMembersResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="removeMember">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="removeMemberRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="removeMemberResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="removeMembers">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="removeMembersRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="removeMembersResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="removeGroup">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="removeGroupRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
<wsdl:output name="removeGroupResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="GroupsServiceService">
<wsdl:port binding="impl:GroupsServiceServiceSoapBinding"
name="GroupsServiceService">
<wsdlsoap:address
location="http://localhost:8080/osg-dev/services/GroupsServiceService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>