Click here to Skip to main content
15,892,746 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
I am implementing webservices API. I am sending request in xml form in which some credentials coming from database and on the response of my request I am getting xml form feedback. I am using SOMee server for testing when i am running my program i am getting an error "URI formats are not supported". Please help me to resolve my query. For referenece i am pasting my code.

C#
if (oDataSet.Tables[0].Rows.Count > 0)
        {
            XmlWriter oXmlWriter = XmlWriter.Create("http://impertosolutions.somee.com//MobileAPI_XML//MobileBookingRequest.xml");
            
            oXmlWriter.WriteStartDocument();
            
            oXmlWriter.WriteStartElement("ReprintRequest");

            oXmlWriter.WriteStartElement("UserTrackID");
            oXmlWriter.WriteString(oDataSet.Tables[0].Rows[0]["OrderId"].ToString());

            oXmlWriter.WriteEndElement();

            oXmlWriter.WriteEndDocument();
         
            oXmlWriter.Close();

            XmlDocument oXmlDocument= new XmlDocument();
            oXmlDocument.Load("http://impertosolutions.somee.com//MobileAPI_XML//MobileBookingRequest.xml");
            StringWriter oStringWriter= new StringWriter();
            XmlTextWriter oXmlTextWriter= new XmlTextWriter(oStringWriter);
            oXmlDocument.WriteTo(oXmlTextWriter);
            Response.ContentType="text/xml";
            lstrInput = oXmlDocument.OuterXml;

            lobjServ.REPRINT(lobjSec, lstrInput, ref lstrOutput, ref lstrError);
        }
Posted
Updated 3-Apr-15 0:25am
v3
Comments
Sergey Alexandrovich Kryukov 2-Apr-15 10:17am    
How about an example of such URI?
—SA

1 solution

If your code litteraly includes the a href then the uri is indeed invalid. Might also be a mistake when creating this question. In that case please edit this question and let me know. I will then remove this answer.
oXmlDocument.Load("<a href="http://impertosolutions.somee.com//MobileAPI_XML//MobileBookingRequest.xml">http://impertosolutions.somee.com//MobileAPI_XML//MobileBookingRequest.xml</a>");


You cannot simply open an URL as if it was a local file. The webserver simply won't accept it. You first need to create the xml (file) and then upload it to the url. Change your code so it writes the xml to an actual file (for example: c:\temp\MobileBookingRequest.xml)

Then after you are done and called xmlWriter.Close(); try this:
WebClient client = new WebClient();
//client.Credentials = new NetworkCredential("username", "password");
client.UploadFile("http://impertosolutions.somee.com/MobileAPI_XML/MobileBookingRequest.xml", "c:\temp\MobileBookingRequest.xml");


Good luck!
 
Share this answer
 
v2
Comments
Member 11576179 3-Apr-15 4:40am    
string orderid = "";
// int number = Convert.ToInt32(txtcontactnumber.Text.Trim());
//string compa= "Unique Order ID";

oDataSet = new DataSet();
oCommonBal.InputType = "Build_OrderId";
oDataSet = oCommonDal.GetRechargeDetail(oCommonBal);
if (oDataSet.Tables[0].Rows.Count > 0)
{
orderid = oDataSet.Tables[0].Rows[0]["OrderId"].ToString();
}
oCommonBal.InputType = "Insert";
oCommonBal.Contact_Number = Convert.ToInt64(txtcontactnumber.Text.Trim());
oCommonBal.OrderID = orderid;
oCommonBal.CompanyName = ddloperator.SelectedValue.ToString().Trim();
oCommonBal.Amount = Convert.ToInt32(txtamount.Text.Trim());
oCommonBal.ItemDesc = txtItemDesc.Text.Trim();
int iRowaffected = oCommonDal.InsertRechargeDetail(oCommonBal);

XmlWriter xmlWriter = XmlWriter.Create("http://abc.com/MobileAPI_XML/MobileBookingRequest.xml");

xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("MobileBookingRequest");

xmlWriter.WriteStartElement("UsertrackId");
xmlWriter.WriteString(oCommonBal.OrderID);
xmlWriter.WriteEndElement();

xmlWriter.WriteStartElement("Itemid");
xmlWriter.WriteString(oCommonBal.CompanyName);
xmlWriter.WriteEndElement();

xmlWriter.WriteStartElement("ItemDesc");
xmlWriter.WriteString(oCommonBal.ItemDesc);
xmlWriter.WriteEndElement();

xmlWriter.WriteStartElement("MobileNo");
xmlWriter.WriteString(oCommonBal.Contact_Number.ToString());
xmlWriter.WriteEndElement();

xmlWriter.WriteStartElement("Amount");
xmlWriter.WriteString(oCommonBal.Amount.ToString());
xmlWriter.WriteEndElement();

xmlWriter.WriteEndDocument();

xmlWriter.Close();

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("http://abc.com/MobileAPI_XML/MobileBookingRequest.xml");
StringWriter sw = new StringWriter();
XmlTextWriter xw = new XmlTextWriter(sw);
xmlDoc.WriteTo(xw);
//return sw.ToString();
Response.ContentType = "text/xml";
lstrInput = xmlDoc.OuterXml;
Member 11576179 3-Apr-15 4:41am    
This is my actual code. Please help me ,where i am going wrong in my code.
E.F. Nijboer 3-Apr-15 5:53am    
I added some additional info and example code to my answer.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900