- 浏览: 61418 次
- 来自: ...
最新评论
-
map612:
拉出去斩了,这也太次了吧
构建xfire动态client -
zuowangxi:
插件 DTP STK 在哪里有下啊??
安装eclipse bpel designer -
caiway:
是地,找不到,郁闷。
BPEL Hello Word -
caiway:
这样不行吧,还要装一些插件吧。
“安装了以下插件的 Eclip ...
安装eclipse bpel designer -
phpbird:
谢谢搂主
jfreechart几个例子
在测试中,客户端请求一个xml文档(该文档存放于oracle数据库中,CLOB型),发现有时候能正常取到,有时候取到的数据以xml方式解析解析不了。
而我使用java客户端来请求该数据时,又能正常得到所有xml数据,和库中一样。为了彻底解决这个问题,写了一个测试的webservice接口。
- public class TestService {
- public TestService() {
- }
- public String getMessage() {
- return message;
- }
- }
这里的message其实是一个xml文档(由于不能贴在里,会丢信息原来信息无法阅读,所以在后面贴出)。
若message赋值为xml_a时,delphi客户端没有任何问题,能得到正常结果。xml_a内容如下:
- String xml_a =
- "<<!---->xml version=\"1.0\" encoding=\"UTF-8\"?>"
- + " <bCCH_BCH_Message>xxyyzz"
- + " <message>"
- + " <sfn_Prime>25sfn_Prime>"
- + " <payload>"
- + " <completeSIB_List>"
- + " <element>"
- + " <sib_Type>systemInformationBlockType7sib_Type>"
- + " <sib_Data_variable>01 80 80sib_Data_variable>"
- + " element>"
- + " <element>"
- + " <sib_Type>schedulingBlock1sib_Type>"
- + " <sib_Data_fixed>08 0D B0 1D 05 80 C4 4C 06 A0sib_Data_fixed>"
- + " element>"
- + " completeSIB_List>"
- + " payload>"
- + " message>"
- + " <xxyyzz1>xxyyzz123xxyyzz1>"
- + " <xxyyzz1>xxyyzz987xxyyzz1>"
- + " bCCH_BCH_Message>";
用tcptrace工具得到的返回结果,<写为<,>为>,&为&,这是由于是传输的数据就是以XML,在这个xml文档内再包含其他xml内容时需要转义。
当xml_b(比较长)赋值给message时,如下:
- String xml_b =
- "<!---->xml version=\"1.0\" encoding=\"UTF-8\"?>"
- + "<uL_DCCH_Message> "
- + "<xyz>"
- +" <a>1a>"
- +" <b>2b>"
- +" <c>3c>"
- +" <d>4d>"
- +" <e>5e>"
- +" <f>6f>"
- +" <g>7g>"
- +" <h>8h>"
- +" <i>9i>"
- +" <j>10j>"
- +" <k>11k>"
- +" <l>12l>"
- +" <m>13m>"
- +"xyz>"
- + " <message>"
- + " <rrcConnectionSetupComplete>"
- + " <rrc_TransactionIdentifier>0rrc_TransactionIdentifier>"
- + " <startList>"
- + " <element>"
- + " <cn_DomainIdentity>cs_domaincn_DomainIdentity>"
- + " <start_Value>00000000000000000100start_Value>"
- + " element>"
- + " <element>"
- + " <cn_DomainIdentity>ps_domaincn_DomainIdentity>"
- + " <start_Value>00000000000000010010start_Value>"
- + " element>"
- + " startList>"
- + " <ue_RadioAccessCapability>"
- + " <accessStratumReleaseIndicator>r99accessStratumReleaseIndicator>"
- + " <pdcp_Capability>"
- + " <losslessSRNS_RelocationSupport>falselosslessSRNS_RelocationSupport>"
- + " <supportForRfc2507>"
- + " <notSupported/>"
- + " supportForRfc2507>"
- + " pdcp_Capability>"
- + " <rlc_Capability>"
- + " <totalRLC_AM_BufferSize>kb150totalRLC_AM_BufferSize>"
- + " <maximumRLC_WindowSize>mws2047maximumRLC_WindowSize>"
- + " <maximumAM_EntityNumber>am6maximumAM_EntityNumber>"
- + " rlc_Capability>"
- + " <transportChannelCapability>"
- + " <dl_TransChCapability>"
- + " <maxNoBitsReceived>b6400maxNoBitsReceived>"
- + " <maxConvCodeBitsReceived>b6400maxConvCodeBitsReceived>"
- + " <turboDecodingSupport>"
- + " <supported>b6400supported>"
- + " turboDecodingSupport>"
- + " <maxSimultaneousTransChs>e8maxSimultaneousTransChs>"
- + " <maxSimultaneousCCTrCH_Count>1maxSimultaneousCCTrCH_Count>"
- + " <maxReceivedTransportBlocks>tb32maxReceivedTransportBlocks>"
- + " <maxNumberOfTFC>tfc128maxNumberOfTFC>"
- + " <maxNumberOfTF>tf64maxNumberOfTF>"
- + " dl_TransChCapability>"
- + " <ul_TransChCapability>"
- + " <maxNoBitsTransmitted>b6400maxNoBitsTransmitted>"
- + " <maxConvCodeBitsTransmitted>b6400maxConvCodeBitsTransmitted>"
- + " <turboEncodingSupport>"
- + " <supported>b6400supported>"
- + " turboEncodingSupport>"
- + " <maxSimultaneousTransChs>e8maxSimultaneousTransChs>"
- + " <modeSpecificInfo>"
- + " <fdd/>"
- + " modeSpecificInfo>"
- + " <maxTransmittedBlocks>tb32maxTransmittedBlocks>"
- + " <maxNumberOfTFC>tfc64maxNumberOfTFC>"
- + " <maxNumberOfTF>tf64maxNumberOfTF>"
- + " ul_TransChCapability>"
- + " transportChannelCapability>"
- + " <rf_Capability>"
- + " <fddRF_Capability>"
- + " <ue_PowerClass>3ue_PowerClass>"
- + " <txRxFrequencySeparation>mhz190txRxFrequencySeparation>"
- + " fddRF_Capability>"
- + " rf_Capability>"
- + " <physicalChannelCapability>"
- + " <fddPhysChCapability>"
- + " <downlinkPhysChCapability>"
- + " <maxNoDPCH_PDSCH_Codes>1maxNoDPCH_PDSCH_Codes>"
- + " <maxNoPhysChBitsReceived>b9600maxNoPhysChBitsReceived>"
- + " <supportForSF_512>falsesupportForSF_512>"
- + " <supportOfPDSCH>falsesupportOfPDSCH>"
- + " <simultaneousSCCPCH_DPCH_Reception>"
- + " <notSupported/>"
- + " simultaneousSCCPCH_DPCH_Reception>"
- + " downlinkPhysChCapability>"
- + " <uplinkPhysChCapability>"
- + " <maxNoDPDCH_BitsTransmitted>b9600maxNoDPDCH_BitsTransmitted>"
- + " <supportOfPCPCH>falsesupportOfPCPCH>"
- + " uplinkPhysChCapability>"
- + " fddPhysChCapability>"
- + " physicalChannelCapability>"
- + " <ue_MultiModeRAT_Capability>"
- + " <multiRAT_CapabilityList>"
- + " <supportOfGSM>falsesupportOfGSM>"
- + " <supportOfMulticarrier>falsesupportOfMulticarrier>"
- + " multiRAT_CapabilityList>"
- + " <multiModeCapability>fddmultiModeCapability>"
- + " ue_MultiModeRAT_Capability>"
- + " <securityCapability>"
- + " <cipheringAlgorithmCap>uea1 uea0cipheringAlgorithmCap>"
- + " <integrityProtectionAlgorithmCap>uia1integrityProtectionAlgorithmCap>"
- + " securityCapability>"
- + " <ue_positioning_Capability>"
- + " <standaloneLocMethodsSupported>falsestandaloneLocMethodsSupported>"
- + " <ue_BasedOTDOA_Supported>falseue_BasedOTDOA_Supported>"
- + " <networkAssistedGPS_Supported>noNetworkAssistedGPSnetworkAssistedGPS_Supported>"
- + " <supportForUE_GPS_TimingOfCellFrames>falsesupportForUE_GPS_TimingOfCellFrames>"
- + " <supportForIPDL>falsesupportForIPDL>"
- + " ue_positioning_Capability>"
- + " <measurementCapability>"
- + " <downlinkCompressedMode>"
- + " <fdd_Measurements>truefdd_Measurements>"
- + " downlinkCompressedMode>"
- + " <uplinkCompressedMode>"
- + " <fdd_Measurements>truefdd_Measurements>"
- + " uplinkCompressedMode>"
- + " measurementCapability>"
- + " ue_RadioAccessCapability>"
- + " rrcConnectionSetupComplete>"
- + " message>"
- + "uL_DCCH_Message>";
每次delphi客户端得到的结果解析不了。后用tcptrace工具截获请求和webservice返回的结果,得出结果是:实际的xml文档被夹在CDATAT标记中间,并没有(<写为<,>为>,&为&)转义。这也是delphi获得的结果,delphi对获得的串类型没有作任何处理,所以无法解析,除非去掉首尾CDATAT部分。而java的客户端可以得到的结果(去掉了CDATAT标记),即不包含CDATAT部分。问题出现在各自的SOAP引擎(根据SOAP规范生成请求应答)或消息的解析上(解析以xml传过来的数据)。
查了一下XML资料查到类似的一段:
若果XML文档中包含XML或HTML时,那么<和>和&分别写成<和>和&来转义;若包含的XML文档过长,把整个XML或HTML包在CDATA标记里,避免转义造成XML文档膨胀过大,尤其通过网络来传输的xml尤为重要。
再对照前面给出的2各XML文档,区别就是长度。若过长websphere就使用CDATA标记,若不太长则使用转义。到底多长才使用CDATA标记,没找到相关的说明。
但delphi却没有这么灵活,无法处理这种情况。我同事只好每次得到XML信息,先判断是否有CDATA标记,有就去头截尾。
发表评论
-
WAS6.1ND实现集群
2007-05-23 12:25 1956本来想帖在这里,但论坛贴图非常难用,只好作为附件分享。 -
xfire根据wsdl生成stub
2007-03-27 11:03 70631.command line生成client stub ... -
构建xfire动态client
2007-03-27 10:14 60871.创建一个java project,命名为XFireClie ... -
xfire start
2007-03-27 09:51 14801. 简介fromxfire. XFire is a next ... -
BPEL相关的一些名称解释
2007-02-16 16:50 12261. SOA: 2. WS: WSIF: SOAP: WSD ... -
BPEL Hello Word
2007-02-16 12:44 47421.机器至少1G内存(否则 ... -
安装eclipse bpel designer
2007-02-15 15:50 63571.下载eclipse3.2或以上版本。 2.运行eclips ... -
jfreechart几个例子
2007-01-09 17:05 1998在web.xml里添加一个servlet(btw:javaey ... -
java与面向对象二
2006-12-29 16:47 111711.类型作用 决定数据的内部标识方式; 决定取值范围; 决 ... -
java与面向对象一
2006-12-28 15:39 9491. 语言的形式化途径 语法 Syntax : 研究符号和 ... -
在websphere下,每次请求webservice的服务接口,都要创建一个实例
2006-11-01 15:52 1756webservice服务接口为: public class ...
相关推荐
有时,XML文件也可能包含SOAP绑定、服务位置、消息格式等配置信息。 为了使用这些资源,你需要按照以下步骤操作: 1. 解压文件:将"WebService依赖jar以及xml.zip"解压缩到本地文件夹。 2. 引入依赖:在你的Java...
参数param通过Serializer.DeserializeToObject反序列化得到blogId,再利用blogId通过AppBlog的LoadBlog方法加载博客文章信息。最后,使用Serializer.SerializeToBinary方法将对象序列化为字节数组返回给客户端。这...
【WebService获得天气预报demo Delphi7】是一个基于Delphi7开发的应用程序,它演示了如何通过使用WebService接口来获取特定城市的天气预报信息。这个项目主要关注的是如何在Delphi7中实现对网络服务的调用,以及如何...
2. **利用ATL创建和调用WebService**:ATL提供了更高级别的抽象,使得调用WebService变得更加简单。ATL可以自动生成客户端代理类,这些类封装了与WebService交互的细节。通过ATL COM Wizard,你可以为指定的WSDL生成...
### WebService 基本概念解析 #### 一、WebService 概述 WebService 是一种跨编程语言和操作系统...通过对 SOAP、WSDL 和 UDDI 的深入了解,我们可以更好地利用 WebService 技术来构建高效、可靠的分布式应用系统。
### Lua 实现调用 WebService 的方法 #### 一、通过 gSOAP 实现 C/C++ 调用 Web Service gSOAP 是一个强大的工具包,它简化了使用 C/C++ 语言开发 Web 服务和客户端的过程。通过 gSOAP 的帮助,我们可以轻松地使用...
在C#中,我们可以利用.NET Framework的ASP.NET WebService(也称为ASMX)来创建WebService。首先,我们需要新建一个ASMX文件,这将为我们提供一个空的WebService类。接下来,我们将在这个类中定义计算器的各种操作,...
【WebService基本理论知识】 Web Services是一种基于互联网的、允许不同系统之间进行交互和协作的应用程序组件。它们通过开放协议如HTTP(超文本传输协议)进行通信,并利用XML(可扩展标记语言)作为数据交换的...
WebService是一种基于XML(eXtensible Markup Language)的开放标准,用于在不同应用程序之间进行通信。它利用HTTP协议传输数据,使得任何平台上的应用程序都可以通过网络进行交互。Axis2是Apache软件基金会开发的一...
在本场景中,"IP地址通过WebService得到城市"指的是利用WebService服务来获取输入IP地址对应的城市信息。这在地理定位、网络安全、数据分析等领域有着广泛应用。 首先,我们需要理解IP地址的工作原理。IP(Internet...
7. **错误处理和调试**:在服务端开发过程中,要处理各种可能出现的错误,如网络通信错误、XML解析错误等。gSOAP提供了一些内置的错误处理机制,帮助开发者进行调试。 总之,通过C++和gSOAP,开发者可以轻松创建...
在Web服务中,我们可以将数据序列化为二进制形式,然后利用GZipStream进行压缩,再通过WebService发送到客户端。客户端接收到压缩数据后,可以使用相应的解压缩方法(如上面示例中的Decompress方法)来恢复原始数据...
### 利用Java编写简单的WebService实例 #### Axis2:新一代的WebService引擎 Axis2作为Apache组织下的一款开源WebService引擎,自其诞生起便受到了广泛的关注。相比于前代产品Axis1.x,Axis2进行了全面的重构与...
Web服务(Web Service)是一种基于互联网的、使用标准XML(Extensible Markup Language)进行通信的软件服务,允许不同系统间的应用程序进行交互。本教程将深入探讨Web服务的概念、原理及其实现,尤其关注在Java环境...
本文将探讨如何利用JSON WebService实现Android访问远程数据库的技术方案,为移动应用开发者提供参考和指导。 首先,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其简洁性和易于阅读的特性...
2. **配置安全性**:确保WebService的安全性得到适当配置,例如设置访问控制列表(ACL),限制特定IP地址或网络段对WebService的访问。 3. **监控与维护**:定期检查WebService的运行状态,确保其正常工作,并及时...
在提取这些知识点时,必须注意的是,尽管文章内容杂乱且包含一些扫描识别错误,但为了满足详细的知识点要求,应当尽可能地从中提取有用的信息,并对原文中的一些不相关或重复信息进行过滤。由于给定的内容片段并没有...
同时,你还需要处理可能出现的错误,比如网络问题、API调用超时、请求参数错误等。 此外,天气Web服务往往还支持其他高级功能,比如历史天气数据查询、空气质量指数、极端天气预警等。这些特性可以让应用变得更加...
【提高WebService性能的关键策略】 在Web服务(Web Services)开发中,性能优化是至关重要的,特别是在处理大量数据或高并发请求时。本文将深入探讨如何通过代码优化来提升WebService的性能,特别是针对提供的代码...