`
touchmm
  • 浏览: 1037872 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

揉杂在一起的问题

阅读更多


近期遇到的问题。简要记之,谨作备忘。


关键词:Delphi7、Eclipse/MyEclipse、AXIS2、Web Service、ocx、XML、Base64、多页Tiff、ImageEn等

一、Web服务器配置AXIS2服务

http://ws.apache.org/axis2/ 下载 axis2-1.4.1-war.zip。

或在http://apache.justdn.org/ws/axis2/下载。

解压后可以得到axis2.war。

把axis2.war以Web应用方式部署到Web服务器,访问http://127.0.0.1:8888/axis2,如出现AXIS的欢迎页面,则说明配置成功。

当然axis2.war可以重新命名为其他的xxxx.war。


二、AXIS2在Eclipse IDE中的配置

需要下载Axis Eclipse plug-in,分别是AXIS2的代码生成工具和打包工具:

axis2-eclipse-codegen-wizard.zip

axis2-eclipse-service-archiver-wizard.zip


下载地址:http://apache.justdn.org/ws/axis2/tools/1_4_1/

把下载的AXIS2的两个plug-in解压缩后放到Eclipse安装目录下的plug-in子目录。


Eclipse启动后便可在“File->New->Other”中看到这些Wizards工具。


AXIS2在Eclipse中开发Web Service的过程如下:

1. 新建Project

2. 新建Web Service的WSDL文件。

3. 使用Axis2 Code Generator向导,分两次从WSDL建立Web Service的Server端和Client端。

4. 使用Axis2 Services Archive向导,把Web Service服务端打包成aar。

5. 发布aar,把aar文件Copy到Axis2应用的/WEB-INF/services/目录下面。

访问对应的web应用可以得到该Web Service的WSDL文档。


三、AXIS2在MyEclipse6.5报错的问题

Axis2 Code Generator向导生成代码后,在Finish 时会产生Exception:

An error ocurred while completing process
-java.lang.reflect.InvocationTargetException

问题在于 Code Generator plugin 内缺少了两个包:

backport-util-concurrent-3.1.jar 包
geronimo-stax-api_1.0_spec-1.0.1.jar 包

解决方法:

1. 关闭 Eclipse

2. copy %AXIS2_HOME%\lib\下的backport-util-concurrent-3.1.jar 和 backport-util-concurrent-3.1.jar

粘贴到 MyEclipse 6.5\eclipse\plugins\Axis2_Codegen_Wizard_1.3.0\lib 文件夹下。

3. 注册此jar 包:

编辑MyEclipse 6.5\eclipse\plugins\Axis2_Codegen_Wizard_1.3.0\plugin.xml文件。

在 <runtime>內加入如下内容:

<library name="lib/geronimo-stax-api_1.0_spec-1.0.1.jar">
<export name="*"/>
</library>
<library name="lib/backport-util-concurrent-3.1.jar">
<export name="*"/>
</library>

4. 保存plugin.xml文件,重新启动Eclipse即可。

四、Delphi7客户端调用AXIS2服务的问题

因为Delphi7发布的时候,AXIS2还没有出生,Delphi7不兼容AXIS2的WSDL文档。

在默认情况下,D7导入AXIS2的WSDL后,生成的pas文件中没有对应的Web Service接口方法。

所以默认情况下无法使用D7编写的客户端调用AXIS2的Web Service服务。

为此,花费不少时间研究,几经磨难才搞定。 ^_^


五、Delphi7+AXIS2 Web Service服务传送文件

这个问题不大。主要还是BASE64的应用。其核心跟D7调用JBuilder9/10带的AXIS一样。

只是多了request和response这样请求和返回的参数,更具BS程序特性。


六、多页tif文件的处理

多页tif的拆分和合成,其处理速度是最头疼事情。

JAVA处理多页tif:JAI组件。可以把多页tif拆分成jpeg,然后再合并成多页tif,这样处理速度会稍好一些。

Delphi7处理多页tif:ImageEn控件,功能强大。


七、使用JDOM生成格式化XML文件

用dom4j生成的XML文件不易做换行缩进等美化格式的操作。

使用jdom可以轻松搞定一个换行缩进格式美化且易读且良构的XML文件。

主要语句参考:

Element root = new Element("aRoot");
Document document = new Document(root);
......
try{
Format format = Format.getCompactFormat();
format.setEncoding("UTF-8"); //设置文件编码格式UTF-8
format.setIndent(" "); //设置缩进
XMLOutputter XMLOut = new XMLOutputter(format);
XMLOut.output(document, new FileOutputStream(saveFilePath));
} catch (Exception e) {
e.printStackTrace();
}


八、Delphi7生成发布ocx的问题

D7中新建Active Form,在Type Library中对接口新增一个Property属性,生成对应的set和get方法。

html页面嵌入ActiveX后可以向ocx传递参数。

主要在ActiveForm的set方法中得到传入的参数。

ocx对象实例化时,其参数的执行顺序和建立顺序一致。使用前记得先注册ocx。

另外,发布ocx时,Project--Web Deploy等按钮可能是灰色。可能D7是D版或Bug。

针对这个问题,具体的做法是再New一个Active Form,然后关掉这个新的Active Form,这时候就可以使用Web Deploy了。


九、D7中ImageEn控件版本冲突问题

如下4个bpl可能会与其他控件的bpl冲突:

PKIECtrl7.bpl、PKIEDB7.bpl、DPKIECTRL7.bpl、DPKIEDB7.bpl

可把这些bpl放置到\WINDOWS\system32\目录下。

十、在IE7中刷新验证码图片

点击验证码图片域时,把其中的验证码图片刷新一下。在IE6下没有问题。

因图片指向引用地址未变,IE7浏览器未能自动刷新图片。

如下,在地址中增加一个Math取得随机数的方法,即可解决IE7中刷新验证码图片的问题。

<script>
function reflush()
{
document.getElementById('ValidateImg').src="/servlet/ValidateNum?"+Math.random();
}
</script>


十一、Ext.Panel.load()的回调callback()方法

aPanel.load({url: 'test.jsp',
scripts: true,
nocache: true,
discardUrl: false,
timeout: 600000, //10min
callback:function(el, success, response) {
if (!success ) {
var obj = Ext.util.JSON.decode(response.responseText);
alert(obj.msg);
}
}
});

当response返回FAILED时,回调触发执行:

response.setStatus(HttpServletResponse.SC_EXPECTATION_FAILED);//设置失败


十二、动态设置Ext.form.TextField的emptyText属性

aField.setRawValue('请输入查询条件');
aField.emptyText = '请输入查询条件';
aField.applyEmptyText();

十三、mms协议的端口

使用Windows Media Service发布点播服务,对外映射外网IP时,需开放防火墙的554、1755端口和对应的路由器的映射端口。


十四、Web应用绝对路径

//如果Web应用的绝对路径中包含中文或空格,则需要处理一下
String realPath = (Thread.currentThread().getContextClassLoader().getResource("")).getPath();
try {
realPath = URLDecoder.decode(realPath,"UTF-8");
} catch (UnsupportedEncodingException e) {
System.out.println(this.getClass().getName()+" throw Exception: "+e.toString());
}
realPath = realPath.substring(1,realPath.length());


十五、连接SQLServer2005的问题

一直用的SQLServer2000,更换到SQLServer2005时,后台报错:

------------

[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。

------------

上网搜到原因,连接SQLServer2005需替换微软新的数据库驱动程序。

于是下载了sqljdbc.jar。一试果然好使,同时也支持SQLServer2000。

以后可以不用那3个jar驱动了。


数据库驱动名称和数据库链接写法举例:

SQLServer 2000数据库驱动的写法:

driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://192.168.100.100:1433;dataBaseName=testdb"


SQLServer 2005数据库驱动的写法:

driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://192.168.100.100:1433;DatabaseName=testdb"

注意两者的差异。

By JRQ
2009/06/12 于南昌

分享到:
评论

相关推荐

    自动分地区软件可以把相同地区的人分在一起!可以把相同地区的人分在一起!

    可以把相同地区的人分在一起!可以把相同地区的人分在一起!可以把相同地区的人分在一起!可以把相同地区的人分在一起!可以把相同地区的人分在一起!可以把相同地区的人分在一起!可以把相同地区的人分在一起!可以...

    论文研究 - NAPL在工业场所发生:杂酚油或石油烃?

    多年来,不同的非水相液体(NAPL)产品在现场混合在一起,这就需要区分石油和杂酚所共有的烃。 在2013年和2016年,从监测和回收井和土壤中收集了已知的杂酚油来源样品。 这些样本旨在与可能受到石油(怀疑是6号燃料...

    计及杂散电感的多芯片IGBT模块损耗计算.pdf

    从上述内容可以看出,文章主要围绕如何计算和分析多芯片IGBT模块在杂散电感影响下的损耗问题进行研究。在电力电子技术领域,这类研究有助于优化IGBT模块的设计,提高其在高频开关应用中的性能表现。

    实战十六:假设两个0.25m长的铝棒连接在一起

    假设两个0.25m长的铝棒连接在一起,它们的另外两端放置在冰水中,一个铝棒温度为100 K,另外一个温度为50K, 查看温度随位置和时间的变化。

    GSM 带内杂散(Tx Noise in Rx Band) 测试流程

    带内杂散指的是发射机在工作频段内产生的非期望信号,这些信号可能会干扰接收机的正常工作,降低通信质量,甚至导致通信失败。 测试目的: 带内杂散测试的主要目标是评估移动设备(MS,Mobile Station)在发射模式...

    上下影线,搓揉线及选股公通达信指标公式源码.doc

    最后,"OK"这个逻辑条件将前面的所有规则结合在一起,只有当满足所有条件时,才会被选中,即前一个交易日是长上影线加短下影线,而当前交易日是短上影线加长下影线的组合。这样的选股策略是基于K线形态的反转或持续...

    TXT文本章节自动分割器

    他能自动分割那些文本比较大的且多个章节揉杂在一起的文本,你也可以选择被分割后独立文本的所含章节数

    photoshop 基础教程 掰开揉碎的基础

    图层就像透明的胶片叠在一起,每个层上的修改都不会影响到其他层,这使得编辑变得更加自由和可控。学习如何添加、删除、隐藏、调整图层顺序、合并图层以及使用图层蒙版,将极大地提升你的工作效率。 色彩调整是...

    捆绑机的作用是将两个exe文件捆绑在一起,执行文件捆绑机

    在此公布捆绑机的目的是让大家知道程序是可以捆绑在一起的,大家以后在执行别人给你的文件的时候千万要小心,不要以为是你熟悉的程序就认为是安全的,因为别人很可能将病毒或木马捆绑在了一起。

    茄子杂交制种技术PPT学习教案.pptx

    茄子杂交制种技术是一项旨在通过人工干预,将不同茄子品种的优良性状结合在一起,以培育出更优质、高产、抗逆性强的新品种的农业技术。此技术涉及多个关键环节,包括选择合适的杂交目标、选取优良的亲本品种、掌握...

    中考语文专题复习古诗词曲鉴赏11己亥杂诗其五精炼

    3. **内容分析**:诗中既有离愁又有喜悦,复杂的情感交织在一起,显示了诗人的豪放和洒脱。诗人选择在白日斜阳的背景下出发,这一景象不仅渲染了离别的氛围,也暗示了诗人内心的壮志与决心。 4. **炼字技巧**:...

    在opencv中将两个图像给融合,让图像叠加在一起.cpp

    在opencv中将两个图像给融合,让图像叠加在一起在opencv中将两个图像给融合,让图像叠加在一起

    修复Word2007中由于本机限制的问题

    MicrosoftFixit50388_修复Word2007中由于本机限制的问题

    opencv 将两幅等宽图像拼接在一起

    opencv 将两幅等宽图像拼接在一起并保存成一幅图像,图像保存在执行文件中

    行业资料-建筑装置-废纸分离用搓揉滚筛.zip

    搓揉部分主要是通过机械力使废纸团块松散,将粘连在一起的纸张分开;滚筛部分则是利用筛网的滚动动作,筛选出不同尺寸的纸屑和杂物。这一过程不仅可以提高废纸的纯度,还可以减少后续处理的难度。 搓揉滚筛的工作...

    CAD图形批量拼在一起,批量插图,自动合并CAD图

    加载进CAD中,敲命令inn,选择需要拼在一起的CAD图中的其中1幅,自动把所有CAD图拼接在一起,可以按块拼图,可以解块拼入。

    二年级奥数.杂题.重重叠叠.docx

    1. **堆叠问题的基本概念**:在解决数学问题中,"堆叠问题"是指物体或部分重叠在一起,导致实际长度、数量或覆盖面积发生变化的情况。理解堆叠的关键在于识别哪些部分是重叠的,以及重叠的程度。 2. **线性堆叠问题...

    揉中法足三里最佳按摩方法(1).pdf

    3. 集中注意力在手心下的部位,然后按照顺时针方向(从上方看)缓慢而均匀地揉动右手,带动腹部皮肤一起转动,确保手与皮肤之间没有相对的摩擦。 4. 练习过程中,意念要随着手部的揉动而旋转,持续揉动约20至30分钟...

    关于4D杂散字符串真空,FI术语和沼泽地的说明

    我们提出一个扰动的4D N = 1杂散(0,2)串真空的无质量扇区的猜想,包括U(1)n规范对称性,其中之一可能是异常的(例如在标准杂化压实中)。... 因此,这些附近取消FI的真空的普遍存在将与WGC的论点联系在一起。

    二年级奥数.杂题.重重叠叠.doc

    本资料主要涉及的是数学中的"重叠问题",这类问题通常涉及到几何、组合和逻辑推理,尤其在奥数题目中常见。解决这类问题的关键在于理解哪些部分是重叠的,以及如何计算由于重叠导致的实际长度、数量或覆盖范围。 1....

Global site tag (gtag.js) - Google Analytics