Шаблоны / Лучшие практики Параметры WebService - PullRequest
0 голосов
/ 16 июня 2010

Я занимаюсь разработкой веб-сервиса и хочу сделать его доступным для всех на всех языках простым и практичным способом.Для одного доступа мне нужно отправить две части информации, токен и XML.

В этом случае, если возникли сомнения, я использую параметры: String - String или String - XmlDocument?

Ну, другими словами, мой вопрос: желательно ли использовать строковые параметры в документах XML?Какой у вас опыт в этом?

Ответы [ 3 ]

1 голос
/ 16 июня 2010

Если вы хотите, чтобы ваш сервис мог использоваться любым клиентом, то передача XmlElement не является подходящим способом. Это не помещает в WSDL информацию, которую клиент может использовать, чтобы решить, что вам отправить.

Вместо этого передайте простой класс «Объект передачи данных». Это будет простой класс без поведения, только данные. Например:

public class PersonDTO
{
    public int ID {get;set;}
    public string Name {get;set;}
    public List<AddressDTO> Addresses {get;set;}
}

public class AddressDTO
{
    public string Line1 {get;set;}
    public string City {get;set;}
    public string PostalCode {get;set;}
}

Пусть ваш веб-метод примет один из них в качестве параметра, и он будет использоваться почти каждым клиентом в мире.

1 голос
/ 16 июня 2010

Если вы собираетесь отправлять XML в веб-службу, вам, вероятно, следует представить ее в виде XmlDocument, просто чтобы убедиться, что люди, изучающие определение службы, понимают, что необходимо передать.

При этом с традиционными SOAP-сервисами обычно считается плохим воспринимать XML-объекты в качестве аргументов, потому что они не описывают сами себя, а управление версиями превращается в кошмар (вам необходимо поддерживать все версии XmlDocument, которые когда-либо мог использовать ваш сервис.используйте ... так что если вы меняете его два раза в год, через 3 года у вас будет 6 различных форматов документов XML, которые вы должны поддерживать).

0 голосов
/ 16 июня 2010

Я всегда использовал строковые параметры.Я думаю, но я не уверен, что сериализованный xmldocument больше, чем сами данные xml.Кроме того, я не думаю, что приложение PHP может вызывать веб-сервисы, которым требуется XmlDocument.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...