Как лучше всего разместить данные на URL, если кто-то не вызывает веб-сервис? - PullRequest
1 голос
/ 15 июля 2010

Ладно ... У меня довольно большой вопрос ... хорошо, вот так ... Обычно, если я хорошо это понимаю ... веб-сервисы работают так, что я пишу метод для получения данных из базы данных.а затем какой-то другой пользователь / клиент добавляет ссылку и вызывает мой сервис и получает данные ... теперь в моем случае я должен получить данные и фактически отправить их пользователю / клиенту в формате xml (возможно, в мыле), я думаю.... вот что я делаю ...

[Serializable]
public class MyClass
{  [SoapAttribute]
   public int id;
    [SoapIgnore]
        public int ToSkip;
} 

String XmlizedString = null; 
            MyClass obj= new MyClass ();
            MemoryStream memoryStream = new MemoryStream ( );
            XmlTypeMapping myMapping =
            (new SoapReflectionImporter().ImportTypeMapping
            (typeof(MyClass)));
            XmlSerializer xs = new XmlSerializer (myMapping);
            XmlTextWriter xmlTextWriter = new XmlTextWriter ( memoryStream, Encoding.UTF8 );

            xs.Serialize ( xmlTextWriter, obj );
            memoryStream = ( MemoryStream ) xmlTextWriter.BaseStream;
            XmlizedString = UTF8ByteArrayToString ( memoryStream.ToArray ( ) );
            using (System.Net.WebClient client = new System.Net.WebClient())      
           {
            // performs an HTTP POST
            status= client.UploadString("http:/somewebservice.com/" + webServiceName,                 XmlizedString); 
            }

Так что в основном .... Я сериализую его в xml (и мыло) и преобразую в строку, а затем загружаю эту строку в веб-сервисurl ...... Я просто хочу знать, правильно ли то, что я делаю? ... я хочу получить данные, преобразовать их в soap xml и затем отправить их на URL веб-службы пользователя ....пожалуйста, помогите мне ...

1 Ответ

1 голос
/ 15 июля 2010

Это веб-сервис на основе wsdl?Если да, то просто используйте IDE или какой-либо инструмент для генерации клиентской оболочки статического типа.

В среде .NET вы можете использовать Visual Studio или wsdl.exe

Не отправляйте необработанные данные на URL и не пытайтесь анализировать ответ вручную, это безумие.Особенно с этими сложными веб-сервисами на основе SOAP.

...