axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alessandro Folli ...@h4t.it>
Subject The parameter name cannot be empty or bigger than 255 characters.
Date Fri, 04 Jul 2008 07:35:21 GMT
Hi All.

I'm writing a java class in order to invoke SharePoint webservices using 
Axis. I can successfully authenticate and get response from operations 
like GetUserCollectionFromWeb or GetGroupCollectionFromWeb defined in 
/_vti_bin/UserGroup.asmx.

When I try to contact the operation GetGroupInfo I receive this error:

Exception of type 'Microsoft.SharePoint.SoapServer.SoapServerException' 
was thrown.

<axis2ns1:errorstring 
xmlns:axis2ns1="_http://schemas.microsoft.com/sharepoint/soap/_"> The 
parameter name cannot be empty or bigger than 255 
characters.</axis2ns1:errorstring>

The soap message I'm sending to the webservice is:

<soap:Envelope xmln:soap="_http://schemas.xmlsoap.org/soap/envelope/_" 
xmlns:xsd="_http://www.w3.org/2001/XMLSchema_" 
xmlns:xsi="_http://www.w3.org/2001/XMLSchema-instance_">
  <soap:Body>
    <GetGroupInfo 
xmlns="_http://schemas.microsoft.com/sharepoint/soap/directory/_">
      <groupName>HelpGroup</groupName>
    </GetGroupInfo>
  </soap:Body>
</soap:Envelope>

Here the code:

        try{

              // Create the request message
              OMFactory factory = OMAbstractFactory.getOMFactory();
              OMNamespace omNs = 
factory.createOMNamespace("http://schemas.xmlsoap.org/soap/envelope/", 
"soap");
              OMNamespace xsiNs = 
factory.createOMNamespace("http://www.w3.org/2001/XMLSchema-instance", 
"xsi");
              OMNamespace xsdNs = 
factory.createOMNamespace("http://www.w3.org/2001/XMLSchema", "xsd");
             
              OMElement env = factory.createOMElement("Envelope", omNs);
              env.declareNamespace(xsiNs);
              env.declareNamespace(xsdNs);

              OMElement body = factory.createOMElement("Body", omNs);

              // Create method
              OMAttribute methodXmlns = 
factory.createOMAttribute("xmlns", null, 
"http://schemas.microsoft.com/sharepoint/soap/directory/");
              OMElement method = factory.createOMElement("GetGroupInfo", 
null);
              method.addAttribute(methodXmlns);
             
              OMElement elementGroupName = 
factory.createOMElement("groupName", null);
              elementGroupName.setText(groupName);
              method.addChild(elementGroupName);

              // Add method to body
              body.addChild(method);
             
              // Add body to envelop
              env.addChild(body);
             
             
              // DEBUG
              System.out.println(env.toString());
             
             
              // Send the request
              ServiceClient client = new ServiceClient();
              // Create option object
              Options options = new Options();
              // Setting target EPR
              options.setTo(new EndpointReference(this.EndpointURL));
              options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
              //options.setUseSeparateListener(true);

              // Setting action ,and which can be found from the wsdl of 
the service
              
options.setAction("http://schemas.microsoft.com/sharepoint/soap/directory/GetGroupInfo");
           
              // Setting Timeout
              options.setTimeOutInMilliSeconds(2000);
             
              HttpTransportProperties.Authenticator
                      auth = new HttpTransportProperties.Authenticator();
                      auth.setUsername(this.wsUser);
                      auth.setPassword(this.wsPassword);
                      auth.setDomain(this.wsDomain);
                      auth.setHost(this.wsHost);
                      //auth.setPort(this.wsPort);
                      auth.setAllowedRetry(true);
                      ;

              options.setProperty(HTTPConstants.AUTHENTICATE,auth);

             
              // Setting created options into service client
              client.setOptions(options);
             
             
              OMElement res = client.sendReceive(env);
              System.out.println(res);
      
      

        }catch (AxisFault axisFault) {

                  axisFault.printStackTrace();
                  //System.out.println(axisFault.getReason());
                  System.out.println(axisFault.getDetail().toString());

       }


What could be wrong? Any help would be appreciated.

Thanks,

  Alessandro


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Mime
View raw message