Webservice SOAP消息值提取 [英] Webservice SOAP message values extraction

查看:92
本文介绍了Webservice SOAP消息值提取的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我已经实现了异步Web服务,该服务从其他代理接收响应.当代理商完成请求过程后,此响应将基于服务URL自动重定向到我的Web服务.

我基于代理商提供的WSDL文件创建了VB类文件.
在我的Web服务类文件中, Webmethod看起来像这样:

公共函数ReceiveCourtCaseEventReply(ByVal ReceiveCourtCaseEventReply1 As ReceiveCourtCaseEventReplyType)作为ResponseType

Logger.Write(ReceiveCourtCaseEventReply1.ResponseMetadata.UserDefinedTrackingID)
Logger.Write(ReceiveCourtCaseEventReply1.CourtCaseEvent.CaseDocketID.ID)

昏暗的响应作为新的ResponseType()
response.ResponseStatusCode =成功"
返回响应
最终功能

我正在使用带有示例响应的SOAPUI测试Web服务,并从给定的SOAP响应中提取值.

My SOAP Message Format:
< SOAP-ENV:信封>
< SOAP-ENV:Body>

Hi,

I have implemented Asynchronous webservice that receives response from different Agency. This response will be automatically redirected to my Webservice based on service URL when the request process has been finished by Agency.

I created a VB class file based on WSDL file provided by Agency.
In my Webservice class file Webmethod looks like this:

Public Function ReceiveCourtCaseEventReply(ByVal ReceiveCourtCaseEventReply1 As ReceiveCourtCaseEventReplyType) As ResponseType

Logger.Write(ReceiveCourtCaseEventReply1.ResponseMetadata.UserDefinedTrackingID)
Logger.Write(ReceiveCourtCaseEventReply1.CourtCaseEvent.CaseDocketID.ID)

Dim response As New ResponseType()
response.ResponseStatusCode ="Success"
Return response
End Function

I''m testing Webservice with SOAPUI with sample response and extracting values from given SOAP response.

My SOAP Message Format:
<SOAP-ENV:Envelope>
<SOAP-ENV:Body>

<m:ReceiveCourtCaseEventReply >
            <jnet-m:ResponseMetadata>
                <jnet-m:UserDefinedTrackingID>HIT-CP-02-CR-0002432-2010-A2</jnet-m:UserDefinedTrackingID>
                <jnet-m:BackendSystemReturn>
                    <jnet-m:BackendSystemName>AOPC</jnet-m:BackendSystemName>
                    <jnet-m:BackendSystemStatusCode>SUCCESS</jnet-m:BackendSystemStatusCode>
                    <jnet-m:BackendSystemReturnCode>SUCCESS</jnet-m:BackendSystemReturnCode>
                    <jnet-m:BackendSystemReturnText>At least one CCE message returned. More records may follow.</jnet-m:BackendSystemReturnText>
                </jnet-m:BackendSystemReturn>
            </jnet-m:ResponseMetadata>
            <CourtCaseEvent>
<CaseParticipants>

<CaseDefendantParty.Person>
  <j:PersonName >
   <j:PersonGivenName>John</j:PersonGivenName>
  <j:PersonMiddleName>M.</j:PersonMiddleName>
  <j:PersonSurName>Myrla</j:PersonSurName>
  <j:PersonFullName>Myrla,John M</j:PersonFullName>
</j:PersonName>
</CaseDefendantParty.Person></CaseParticipants></CourtCaseEvent>
		</m:ReceiveCourtCaseEventReply>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>


如何迭代< CaseDefendantParty.Person>的值;属性元素?
有什么解决方案吗?
谢谢,
Srinivas Kalagara


How to iterate values of <CaseDefendantParty.Person> property element ?
Any solutions Please?
Thanks,
Srinivas Kalagara

推荐答案

我自己找到了解决此问题的方法.

CaseDefendantParty.person是一个choiceType,表示它是Enumerator中的选择之一.
我们可以通过强制转换或键入其本机类型(即Ctype(Casedefendantparty,SubjectType).PersonName.PersonGIenName)来提取其子元素.

希望此解决方案能使大家有一个思路,以解决类似问题.


谢谢,
Srinivas Kalagara
I found the solution myself to this problem.

CaseDefendantParty.person is a choiceType that means its one of the choice in Enumerator.
We can extract it''s sub elements by Casting or Typing to its native type, i.e, Ctype(Casedefendantparty,SubjectType).PersonName.PersonGIenName.

Hope this solution gives guys an idea to have little bit clarity in resolving similar kind of issues.


Thanks,
Srinivas Kalagara


这篇关于Webservice SOAP消息值提取的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆