je les MessageContracts suivantes à utiliser comme une requête:WCF MessageContract Liste sérialisation
<MessageContract(WrapperName:="get")> _
Public Class GetRequest
Inherits BaseAuthenticatedRequest
Protected _typeName As cEnum.eType
Protected _id As Integer
<MessageBodyMember()> _
Public Property TypeName() As cEnum.eType
...
<MessageBodyMember()> _
Public Property Id() As Integer
...
End Class
<MessageContract(WrapperName:="getLimited")> _
Public Class GetLimitedRequest
Inherits GetRequest
Protected _propertyList As List(Of String)
<MessageBodyMember(Namespace:=Api2Information.Namespace)> _
Public Property PropertyList() As List(Of String)
...
End Class
Mais lors du test en SoapUI, le corps de la demande getLimited est créé:
<v2:getLimited>
<!--Optional:-->
<v2:Id>?</v2:Id>
<!--Optional:-->
<v2:PropertyList>
<!--Zero or more repetitions:-->
<arr:string>?</arr:string>
</v2:PropertyList>
<!--Optional:-->
<v2:TypeName>?</v2:TypeName>
</v2:getLimited>
Où v2
= Api2Information.Namespace. Ce que je veux vraiment, c'est que les chaînes contenues dans PropertyList soient nommées v2
, pas arr
. Y a-t-il de toute façon pour moi d'y parvenir? Je convertis un service ASMX pour utiliser WCF et nous avons quelques applications où nous ne pouvons pas nous permettre de devoir recompiler et redistribuer.
Merci pour votre aide!
'Api2Information.Namespace' est utilisé sur mon méthodes de service également, pour obtenir tout sous l'espace de noms. L'ajout d'un espace de noms à 'PropertyList' n'a rien changé, c'était juste ma tentative d'obtenir des chaînes de caractères correctement. –