Вот мои настройки, у меня есть файл WSDL, который я импортировал в свое приложение, и он создал ссылки, по которым я могу позвонить, чтобы сделать свой запрос.Все в порядке, за исключением того, что в запросе отсутствует префикс для пространств имен.Мой запрос выглядит так (перехвачено через SoapUI)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ATT_ADDR_VAL_REQ xmlns="http://lsr.att.com/preorder">
<ADDR_VAL_REQ xmlns="http://lsr.att.com/obf/tML/UOM">
<HDR>
<MSG_TIMESTAMP>0001-01-01T00:00:00</MSG_TIMESTAMP>
<CC>30H</CC>
<STATE>CA</STATE>
</HDR>
<PON>TESTPON</PON>
</ADDR_VAL_REQ>
</ATT_ADDR_VAL_REQ>
</soap:Body>
</soap:Envelope>
Но удаленная система ожидает что-то вроде этого, ns1 и ns2 - просто префикс samlpe, может быть чем угодно
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ns1:ATT_ADDR_VAL_REQ xmlns:ns1="http://lsr.att.com/preorder">
<ns2:ADDR_VAL_REQ xmlns:ns2="http://lsr.att.com/obf/tML/UOM">
<ns2:HDR>
<ns2:MSG_TIMESTAMP>0001-01-01T00:00:00</ns2:MSG_TIMESTAMP>
<ns2:CC>30H</ns2:CC>
<ns2:STATE>CA</ns2:STATE>
</ns2:HDR>
<ns2:PON>TESTPON</ns2:PON>
</ns2:ADDR_VAL_REQ>
</ns1:ATT_ADDR_VAL_REQ>
</soap:Body>
</soap:Envelope>
Также простодля справки вот как выглядит ATT_ADDR_VAL_REQ
Partial Public Class ATT_ADDR_VAL_REQ
Private aDDR_VAL_REQField As ADDR_VAL_REQ
'''<remarks/>
<System.Xml.Serialization.XmlElementAttribute([Namespace]:="http://lsr.att.com/obf/tML/UOM")> _
Public Property ADDR_VAL_REQ() As ADDR_VAL_REQ
Get
Return Me.aDDR_VAL_REQField
End Get
Set
Me.aDDR_VAL_REQField = value
End Set
End Property
End Class
Так что мне интересно, есть ли место, где я могу настроить систему на использование префиксов пространства имен?