Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 创建Web服务请求_Asp.net_Xml_Vb.net_Wcf_Soap - Fatal编程技术网

Asp.net 创建Web服务请求

Asp.net 创建Web服务请求,asp.net,xml,vb.net,wcf,soap,Asp.net,Xml,Vb.net,Wcf,Soap,我想将数据提供给一个代理,该代理创建一个soap XML请求,格式如下: <dat:MusicCollection> <!--Zero or more repetitions:--> <dat:Song> <dat:songUserkey>TakemeHome</dat:songUserkey> </dat:Song> </d

我想将数据提供给一个代理,该代理创建一个soap XML请求,格式如下:

<dat:MusicCollection>
           <!--Zero or more repetitions:-->
           <dat:Song>
              <dat:songUserkey>TakemeHome</dat:songUserkey>
           </dat:Song>
</dat:MusicCollection>
dim ucizi1 as SongRequest 'this is the request class in the proxy
dim Songs as Song = New Song
Songs.songUserKey = "TakeMeHome"
dim ucz
ucz = Songs.SongUserKey
ucizi1.SongCollection.Add(ucz)
音乐采集课程如下:

<System.Diagnostics.DebuggerStepThroughAttribute(),  _
 System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"),  _
 System.Runtime.Serialization.CollectionDataContractAttribute(Name:="ProductCollection", [Namespace]:="http://ucizi.Musicservice/DataContracts", ItemName:="Song")>  _
Public Class SongCollection
    Inherits System.Collections.Generic.List(Of ucizi.Music.DataContracts.Song)
End Class
<System.Diagnostics.DebuggerStepThroughAttribute(),  _
 System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"),  _
 System.Runtime.Serialization.DataContractAttribute(Name:="Product", [Namespace]:="http://Ucizi.Music/DataContracts")>  _
Partial Public Class Product
    Inherits Object
    Implements System.Runtime.Serialization.IExtensibleDataObject

    Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject

    Private SongUserkeyField As String

    Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData
        Get
            Return Me.extensionDataField
        End Get
        Set
            Me.extensionDataField = value
        End Set
    End Property

    <System.Runtime.Serialization.DataMemberAttribute(IsRequired:=true)>  _
    Public Property SongUserkey() As String
        Get
            Return Me.SongUserkeyField
        End Get
        Set
            Me.SongUserkeyField = value
        End Set
    End Property
End Class
_
公营歌曲集
继承System.Collections.Generic.List(ucizi.Music.DataContracts.Song的)
末级
歌曲课程如下:

<System.Diagnostics.DebuggerStepThroughAttribute(),  _
 System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"),  _
 System.Runtime.Serialization.CollectionDataContractAttribute(Name:="ProductCollection", [Namespace]:="http://ucizi.Musicservice/DataContracts", ItemName:="Song")>  _
Public Class SongCollection
    Inherits System.Collections.Generic.List(Of ucizi.Music.DataContracts.Song)
End Class
<System.Diagnostics.DebuggerStepThroughAttribute(),  _
 System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0"),  _
 System.Runtime.Serialization.DataContractAttribute(Name:="Product", [Namespace]:="http://Ucizi.Music/DataContracts")>  _
Partial Public Class Product
    Inherits Object
    Implements System.Runtime.Serialization.IExtensibleDataObject

    Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject

    Private SongUserkeyField As String

    Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData
        Get
            Return Me.extensionDataField
        End Get
        Set
            Me.extensionDataField = value
        End Set
    End Property

    <System.Runtime.Serialization.DataMemberAttribute(IsRequired:=true)>  _
    Public Property SongUserkey() As String
        Get
            Return Me.SongUserkeyField
        End Get
        Set
            Me.SongUserkeyField = value
        End Set
    End Property
End Class
_
部分公共类产品
继承对象
实现System.Runtime.Serialization.IExtensibleDataObject
私有extensionDataField作为System.Runtime.Serialization.ExtensionDataObject
私有SongUserkeyField作为字符串
公共属性ExtensionData()作为System.Runtime.Serialization.ExtensionDataObject实现System.Runtime.Serialization.IExtensibleDataObject.ExtensionData
得到
Return Me.extensionDataField
结束
设置
Me.extensionDataField=值
端集
端属性
_
作为字符串的公共属性SongUserkey()
得到
Return Me.SongUserkeyField
结束
设置
Me.SongUserkeyField=值
端集
端属性
末级
然而,当我运行这段代码时,我得到一个错误:无法将类型为“system.string”的对象强制转换为类型为“ucizi.music.DataContracts.Song”

我看不出这个错误是从哪里来的,有人能帮我纠正一下吗

Songs.songUserKey = "TakeMeHome"
dim ucz
ucz = Songs.SongUserKey
ucizi.SongCollection.Add(ucz)
您将
ucz
设置为
SongUserKey
——这是字符串

然后,将其添加到collectionSongCollection

Public Class SongCollection
    Inherits System.Collections.Generic.List(Of ucizi.Music.DataContracts.Song)
End Class

这是预期的
歌曲

歌曲之后添加了以下代码。songUserKey=“TakeMeHome”


这使问题得以顺利解决。你们让我大开眼界。

你们到底从哪里得到了例外?(提示:这不是一个“错误”)在ucizi1.SongCollection.Add(ucz)行上,我知道错误的来源,我尝试将歌曲添加到songcollection,而不是添加ucz,但我现在收到一个错误“对象引用未设置为对象的实例”。在调用add-like ucizi1.songcollection=new List()之前,可能需要初始化ucizi1.songcollection的集合;几乎所有
NullReferenceException
的情况都是相同的。请参阅“”,以获得一些提示。我已经对问题进行了排序,谢谢各位。@user2211448:您应该发布一个答案,说明您是如何“排序”的