CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 2 of 2
  1. #1
    Join Date
    Jun 2006
    Posts
    143

    Probem passing string type to web service method

    I don't know if this is the correct forum to ask this question. But I have an asp.net web service with a method method GetCapital() as follows:
    Code:
            [WebMethod]
            public string GetCapital(  string inp  )
            {
                XmlTextReader reader = new XmlTextReader("c:\\Temp\\Sample.xml");
                string ret ="";
                reader.MoveToContent();
                while (reader.Read())
                {
                    if (reader.NodeType == XmlNodeType.Element)
                    {
                        // check if the element has any attributes
                        if (reader.HasAttributes)
                        {
                            // move to the first attribute
                            reader.MoveToFirstAttribute();
                            for (int i = 0; i < reader.AttributeCount; i++)
                            {
                                // read the current attribute
                                reader.MoveToAttribute(i);
                                if (reader.Value == inp)
                                {
                                   ret = reader.GetAttribute(1);
                                   return ret;
                                  
                                }                            
                            }
                        }
                    }
                }
                return ret;
            }
        }
    Forget the logic. I am calling this web service from a VC++ client using SOAP as follows:

    Code:
    	std::string csSoapString;	
    	csSoapString =  "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
    	csSoapString += "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"";
    	csSoapString += " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance \"";
    	csSoapString += " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">";
    	csSoapString += "<soap:Body>";
    	csSoapString += "<GetCapital xmlns=\"http://tempuri.org/\"/>";
    	csSoapString += "<inp xsi:type=\"xsd:string\">";
    	csSoapString += "USA";
    	csSoapString += "</inp>";
    	csSoapString += "</soap:Body>";
    	csSoapString += "</soap:Envelope>";
    
    
    
    int nContentLength = csSoapString.length();
    				CString csLength;
    				csLength.Format( _T( "&#37;d" ),nContentLength );				
    				char temp[10];
    			   _itoa_s(csSoapString.size(), temp, 10,  10);
    			 	string csSoapAction;
    				csSoapAction = "Content-Type: text/xml; charset=utf-8";
    				csSoapAction += "Content-Length: ";
    				csSoapAction += temp;
    				csSoapAction += "\r\n\r\n";
    				csSoapAction += "SOAPAction: \"";
    				csSoapAction += "http://tempuri.org/GetCapital";
    				csSoapAction +=  "\"\0\r\n\r\n";
    
    BOOL bSent = HttpSendRequestA(hRequest, csSoapAction.c_str(), csSoapAction.size(), (LPVOID )csSoapString.c_str(), csSoapString.size());
    But when I call the GetCapital method from the client <i get the follwing error in the response :
    Code:
    Object reference not set to an instance of object.
    The problem is the paramater "USA" I am passing from the client is not received in the web service. In the web service the input argument inp is null. What is wrong with the SOAP request ? How should I correct the SOAP request?

    Thanks in advance.
    Last edited by dreamer60; November 29th, 2011 at 03:48 AM. Reason: incomplete post

  2. #2
    Join Date
    Nov 2011
    Location
    State of Israel
    Posts
    4

    Re: Probem passing string type to web service method

    Hi!

    By myself i never used .net Web services with C++ client, but may be this will be useful for you: http://www.codeguru.com/cpp/com-tech...icle.php/c3945

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured