2010-12-16
XML Tagung in Stuttgart
2010-12-14
在XSLT中调用Java函数
当XSLT文件和Java class文件位于一目录下,经过测试,在Altova XML Spy下,命名空间需要声明为:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:myns="java:Test" exclude-result-prefixes="myns">
其中需要注意的是在xmlns:myns="java:Test" exclude-result-prefixes="myns"中,java不能省掉,Test为Java class的名字,否则Altova 的XSLT processo找不到声明的Java class,会返回ClassNotFound exception。
而在SAP PI 7.0环境下,声明自定义的命名空间必须去掉“java:”,否则也会出现找不到Java class的错误。
示例:
XSLT文件:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:myns="java:Test" exclude-result-prefixes="myns">
<xsl:template match="/">
<root>
<text><xsl:value-of select="myns:foo(‘hello’, ‘world’)" /></text>
</root>
</xsl:template>
</xsl:stylesheet>
Java class:
public class Test {
public static String foo(String str1, String str2) {
return str1 + “ ” + str2 ;
}
}
2010-12-13
XPATH点滴
/ 符号:以前基本上认为就是在轴上分隔不同的节点。更广义的理解是这是一个高阶的运算符。比如$EXP1和$EXP2 分别为两个节点集合,那么$EXP1/$EXP2表示对$EXP1中的每一个节点对$EXP2求值,$EXP1/$EXP2的值即为:对$EXP1中每个节点对$EXP2求值的集合。
对轴的理解:轴实际上是一种节点间一对多的映射,可以把轴理解为一种函数,输入为一个单个节点,输出为与该节点有某种关系的节点的集合。
(@code,"N/A")[1]:如果code属性的值不为空,那么这个表达式的值即为code属性的值,否则返回”N/A”。因为当code属性的值为空时,通过运算符逗号 “,” 创建的sequence只有一个item即”N/A”,筛选条件[1]选择sequence中第一个元素。
2010-12-10
实物恋
2010-12-09
不能加载SAPJCORFC
system32,可是仍然得到错误:
Exception in thread "main" java.lang.ExceptionInInitializerError: JCO.classInitialize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC'很明显是找不到sapjcorfc.dll,所以不能加载。把sapjcorfc.dll和librfc32.dll这两个文件复制到jdk的bin目录下,也就是上面错误中的第一个目录中,就能正确加载了。难道java只在目录列表中的第一个目录去寻找。
JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc [no sapjcorfc in java.library.path]. java.library.path [C:\Program Files (x86)\Java\jdk1.5.0_22\bin;.;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Java\jdk1.5.0_22\bin; C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\ThinkPad\Bluetooth Software\;C:\Program Files\ThinkPad\Bluetooth Software\syswow64;C:\Program Files (x86)\Windows Live\Shared;c:\cygwin\bin;C:\Users\dingjun.jia\Documents\Data\UnxUtils\usr\local\wbin;C:\Users\dingjun.jia\Documents\Data\projects\o2 SAP\cmd;]
at com.sap.mw.jco.JCO.<clinit>(JCO.java:820)
at JM_I025B.countVendorData(JM_I025B.java:26)
at JM_I025B.main(JM_I025B.java:10)
2010-11-24
2010-11-23
PI 7.1与PI7.0的比较
Name changes PI 7.0 -> PI 7.1
Integration Repository (IR) -> Enterprise Service Repository (ESR)message interface -> service interface
interface mapping -> operation mapping
business service -> business component
Features of PI 7.1 over PI 7.0
a) Repository Objects
- Service Registry (SR) is to support publishing, classifying, discovering services.
- Service Interfaces (SI) may contain several operations where each operation describes one communications (Synchronous / Asynchronous). The various attributes are Category (I/O/A), Mode(S/A), Interface Pattern & Operation Pattern
- Interface patterns is a new attribute of a service interface that describes the type of communication that is to be executed on the message (Stateless/ Stateless Xi 3.0 Compatible / TU&C/C and Stateful)
- Operation Patterns depends on Interface patterns (Normal / Commit/ Rollback / Confirm/Tentative Update/Compensate)
- SAP Global Data type (GDT) is introduced to have business semantics in order to replace SAP Core DT
- Folders are introduced to organize projects and interfaces which have access authorizations
- We can use either XML toolkit / JDK 1.5 toolkit for JAVA and XSLT Mapping.
b) Mapping Enhancements
- We can set Failure Behavior in fix values and value mapping (Return initial value/Default/Exception)
- Output of fields and functions can be used for multiple target fields for Reusable / Better Runtime Performance
- Tool support to adjust the mappings after the structure changes to avoid structural inconsistencies.
- Storing intermediate Results in a variable can be possible and can be reused.
- Complete copy of XML sub trees is possible
- Parameterized mapping is useful for Channel Lookup and Reuse of multiple mapping in Interface Determinations and to transfer content of Container in UDF.
- Function Libraries is useful for reuse of UDF and enhanced portability of UDF.
- Graphical Support of RFC Lookup and JDBC Lookup is available.
- Importing SQL Tables Meta Data is possible
c) ccBPM
- Step Groups - Set of steps that can be reused by embedded in Integration Process across SWCV. Step Parameters can also be used in step groups.
- Configurable Parameters - Defined in Integration process and the values can be used assigned in ID. Here Agents, Communication channel and simple data type can be used as parameters.
- User Interaction - User Decision Step in Integration Process with an agent configured in ID is used to get the workflow message to make a decision
d) Configuration Objects
- Web Service Reliable Messaging WS-RM for Asynchronous messaging is configured in Sender Agreement and Communication Channel for a considerable level of reliability and security.
- Principal Propagation based on Security Assertion Markup Language (SAML 1.1) can be configured in WS adapter. It means user is securely propagated from a sender system to receiver systems. An authorization check in receiving system based on original user.
- Advanced Adapter Engine (AAE) is used to increase the performance of message processing by eliminating the need for ABAP stack during the process.
- Reusable Receiver Rules for logical routing can be used in different Receiver Determination.
- Cache Notification function is enhanced to analyze the possible error.
- XML Payload validation is possible in sender and Receiver agreement.
- Publish the sender agreement in Service Registry for web service Client and provider connected to IS.
- Centralized administration and monitoring is done by SAP NetWeaver Administrator.
- Message Packing enables processing bulk messages in one service call and reduce context switches
2010-10-27
XSLT SAP PI 7.0
- 不支持xpath 2.0下表示两个节点集合的xpath运算符intersect。Dr. Kay在很多年前就提出在xpath 1.0下的替代表达式 $ns1[count(.|$ns2) = count($ns2)]倒是派上了用场,只是效率差些。
- 不支持XPATH 2.0下的函数current-date。XPATH 1.0里根本就没有针对date和time的函数,在XSLT下通常只能通过传递参数给stylesheet才能解决这个问题。不过这个问题倒是借助SAP PI的运行环境能解决,因为它提供一些参数,只需在stylesheet下声明一下就可以使用如:
<xsl:param name="TimeSent" />SendTime的值的格式为:YYYY-MM-DDTHH:MM:SSZ
更多可供使用的参数见:http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/frameset.htm
2010-10-21
暂时远离64位应用
之前没仔细阅读64bit office 2010的release note。在msdn下载安装完后才发现问题不少。首先是64位的Outlook 2010与Windows mobile device center不兼容。和我的HD2同步时显示错误提示:
Either there is no default mail client or the current mail client cannot fulfill the messaging request. Please run Microsoft Outlook and set it as the default mail client.
google了一番之后才知道这是一个64bit office 2010的已知问题,尽管问题并不是在64 bit的Outlook 2010这个产品上。微软在2010年5月份就发布一篇KB( http://support.microsoft.com/kb/980513/en-us )描述了这一问题。不能同步的原因在WMDC(windows mobile device center)上,不过软件巨人微软根本不打算修正这一问题(There are no plans to update Windows Mobile Device Center to improve compatibility with Outlook 2010),强迫用户用户要么换回32位的Office应用程序,要么更换手机!我相信为windows phone 7开发的同步软件肯定会修正这一问题,但是那些还没有使用windows phone 7的用户就这样被抛弃了。如此微软怎么能期望更多的用户使用基于windows mobile的手机。很想知道微软如果修复这样一个问题需要多大的开销。
另外一个软件巨人的免费产品google calendar sync也不能和64位的Outlook实现同步。google也是不推出任何更新已解决这个很多用户反映了很久的问题。
2010-10-07
SAP PI 7.11 Integrated Configuration
How To configure Integrated Configuration
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/700058f0-b1a1-2a10-39a8-ab2627b87cfa?overridelayout=true
2010-10-06
vim下移动到特定列
在google中查找这个用法是,先用关键字 vim jump to column查找,估计是因为关键字jump的原因,结果中出现了很多在不同tag之间跳转的结果,后来换成vim move to column,查询结果就好多了。
2010-09-01
在公司工作3年了
2010-08-27
2010-08-25
更换HTC HD2
发来的传真说,周四通过GLS送货并取走坏的手机。没想到的是周二上午10点多GLS送货的人就到家门口了。从效率上来看,倒真是不赖,街名拼写错误也如此迅速地送到了。可是如果我真按传真上写的送货时间周四来计划,岂不是这效率也白搭。
2010-08-23
更换热水管阀门
周日中午GK又惊呼没有热水了,于是我直奔地下室查看储水罐的水压力表。果不其然,压力表又变为零了。2个月前才加的水似乎又跑光了。以前就注意到有两个阀门有点漏水,但没想到越来越厉害。这两个阀门在从储水罐出来的Speichervorlauf和Speicherrücklauf这两根管子上,都位于Fermwärme设备的大盒子内。不打开大盒子盖是不容易发现漏水情况的。徒劳地往上缠了些胶条和布条,又来回关上打开折腾数次,阀门转动部分与阀门的接触缝隙似乎越来越大,漏水反而越来越大。这下搞不定了只能请教专家了。周一专家过来,把阀门卸了下来,上了些润滑油试图能阻止漏水情况,可是效果不理想,只能买新的阀门来换掉无法修理的坏阀门。麻烦的是这种阀门不是普通的标准阀门,普通的建材市场如Hornbach之类的根本没有,只好去专业的管道建材商店。
拿出黄页一翻,先找到了一家在Rappstraße的店。拿着画的尺寸图和拍的照片和黄页就出发了,带着黄页是怕万一没买到会多跑几家店。果然第一家店就没有这样的阀门,不过店员态度很好,推荐我去位于Intzestraße的一家名为Stapf的商店,离Porsche中心很近。马上赶了过去,店员态度也很好,拿着图纸上后面去找了很久出来了。虽然没有完全一样的阀门,不过找到了替代品。买了两个回家,简单一试,果然相配,再把专家请了过来才把两个阀门正式安装上。此后关于热水的问题应该能消停一段时间了!
2010-08-22
从SD卡更新HD2 Rom
* der Akku des HD2 sollte mindestens 80% geladen sein um fortzufahren
* schließe den HD2 wieder an den PC an und wähle im automatisch erscheinenden Menü > Festplatt (Disk Drive)
* entpacke mit 7zip das Rom von HTC welches du z.B. hier gefunden hast
* unter den entpackten Dateien befindet sich die Datei RUU_signed.nbh welche du umbenennen musst in LEOIMG.nbh
* kopiere die Datei LEOIMG.nbh aud die SD Karte des HD2
* trenne nun den HD2 vom PC und schalte ihn aus
* drücke und halte jetzt die Volume Down (leise) Taste
* drücke nun zusätzlich die Power Taste und halte beide 5 Sekunden
* wenn ein Menü auf dem Display angezeigt wird kannst du los lassen
* starte den flash Vorgang durch kurzes drücken der Power Taste
* der Vorgang kann bis zu 15 Minuten dauern und darf nicht unterbrochen werden
* wenn der Vorgang abgeschlossen ist drücke den kleinen roten Restknopf unter dem Akkudeckel (neben dem MicroSD Karten Slot)
* nun startet der HD2 neu und sollte das Betriebssystem laden
其中按住降低音量和电源键5秒钟很重要!
从SD卡更新Rom后,显示:
RADIO_V2 – OK
RCUST – OK
BOOTLOADER – OK
SPLASH1 – OK
OS – OK
CONFIGDATA – OK
RUU_WALLPAPER1 – OK
RUU_WALLPAPER2 – OK
Update Complete
Update SUCCESS
2010-08-19
enable Acrobat key shortcut
记的低一点版本的Acrobat在安装完后是默认启用快捷键的,如Acrobat 6。在Acrobat 9中却是默认不启用这个功能。要启用快捷键可在设置中更改。
Edit – Preference – General 中选中 Use Single-Key Accelerators To access tools
2010-05-01
试用HTCHD2
公司的手机可以续合同了,公司提供HTC HD2这款手机。考虑到这款手机的大显示屏和算是不错的硬件配置便毫不犹豫地订了这款手机。周二发的邮件订手机,周五就到了。效率还算是不错。
试用了一会儿,目前发现的问题有:
reset键在里面,必须打开电池后盖才能reset
没有触笔,在选择下拉菜单选项时很难选中
新拿到手免不了要自己刷机,访问各种论坛。一些基本术语是必须要掌握的,如:
LEOIMG.nbh/ruu_signed.nbh/[Randomname.nbh] - These are all the actual roms, the things you need to flash, usually they are called one of the first two names, but some rom chefs give their own names to the roms, but you can always distiguish which file you need as it will always be a "nbh" file and will always be the largest file in the archive/folder
SPL - Secondary Program Loader: Loads the actual OS. (The SPL is what lets you flash the different aspects of your device, however the stock SPL is 'CID Locked' which means only official releases from HTC can be installed.
HSPL - A 'custom' SPL created by the dark forces team (bepe and cotulla), this is CID Unlocked and it lets you install custom roms and flash any radio. The reason it is called 'Hard' is because it stays on your device after a flash, unlike 'Soft' SPL which is removed after a flash.
RUU - The official 'Rom Update Utility' from HTC which is used to do all your flashing from your pc, its essentialy a nice user interface for the SPL
CustomRUU - The custom Rom Update Utility from the dark forces team which is designed to be used with the HSPL
ROM - An operating system build from HTC, updated to bring you the newest functions and fixes
Custom/Cooked ROM - An operating system build built on a stock rom, these are created by 'Chefs or Cooks' who use 'Kitchens' to design their own roms to release to the community, these are usually alot better than stock roms and contain lots of custom tweaks from others in the xda community.
更多术语可以参考xdadeveloper的wiki页面:http://wiki.xda-developers.com/index.php?pagename=Glossary
2010-04-18
没有热水?
这周一又发生没有热水了,症状与上次一样,只是没有“自我修复”。周四下午到家第一件事就是约Mainova的修理工,结果约到周五早上07:00的时间。修理工检查发现,室内热水循环系统的压力变为了0 Bar,正常的数值应为2Bar。修理工清洗了Schmutzfänger(其实这个应该与我的问题无关),然后拿了一根管子连接水龙头往热水循环系统里加水,直到水压升到2Bar为止。据说自来水水龙头的水压在5 ~ 6 Bar左右,经过室内的减压装置水压变为4Bar。
在网上看到在给暖气放气要注意的事项:
Wichtig: Jeh nach Anzahl der zu entlüftenden Heizkörper und Größe des Heizkreislaufs ist es wichtig, daß nach dem Entlüften Wasser in den Heizkreislauf nachgeführt wird, weil der Druck durchs Entlüften abnimmt. Der otpimale Druck liegt in einem Einfamilienhaus bei ca 1,2-1,5 Bar. Unter 1 Bar sollte er nicht fallen. Zu hoch sollte er auch nicht sein, da die Pumpe sonst schwerer arbeiten muß (Verschleiß, Stromverbrauch).
Das Wasser wird übrigens am Kessel wieder nachgefüllt....
Wenn viel Wasser nachgefüllt werden muß (viel frische Luft), sollte man nach 4-6 Wochen nochmal entlüften.
2010-03-14
认识一下Navigon的nfs文件
- Brunnel_EU.nfs: Positionen der Tunnel für schnellen Satfix
- CityModels_EU.nfs: Städte und ihre Gebäude so realistisch wie möglich 3D
- Landmarks_EU.nfs: zeigt Sehenswürdigkeiten und Sonderziele 3D
- MapDrawer.nfs: für die Darstellung der Karten zuständig
- poicats.nfs: Darstellung der Pois
- RealityView_EU.nfs: zeigt Beschilderung auf Autobahnkreuzen 3D
- sat_EU.nfs: Darstellung der Übersichtskarte ohne GPS-Empfang
- Terrain_EU.nfs: Darstellung der 3D Landschaften (Panorama View 3D)
- TMC.nfs: TMC (pro) empfangen
2010-03-09
o2 loop surf stick 2, Fehler 720
相信会有其他人在google中以标题中出现的单词作为关键字来查找解决办法的。
我的问题是在Lenovo R400下,操作系统为Vista Enterprise + SP1,使用O2的loop surf stick 2,碰到掉线时,不能重新拨号建立连接,modem的log文件里记录720错误:
A connection to the remote computer could not be established. You might need to change the network settings for this connection. For further assistance, click More Info or search Help and Support Center for this error number.(720)
每次必须重新启动电脑才能重新建立连接,让人无法忍受。
google了半天,终于找到了如下解决办法:
1. Services.msc ausführen
2. folgende Services als automatisch einstellen
- Telefonie
- RAS-Verbindungsverwaltung (rasman)
- Verwaltung für automatische RAS-Verbindung (rasauto)
3. Rechner neu starten
网上有Windows 7的用户也反映有这个问题,同样的办法估计应该有效!
2010-02-10
新笔记本让人失望
- S键掉下来了!!重新给按回去了,不过仍旧是松松垮垮的!
- 键盘的布局不一样了。ESC键被放置了最最上面,F1键取代了它的位置。这样按ESC的时候,总变成按F1键,可恶的是Vista下,windows的帮助似乎不是那么容易被禁用掉。。
- Control键和Fn键的位置也互换了一下。Control键用的很多,以前在左下角非常方便,不会在按Control时按成其他的键。现在却被夹在了Fn和Windows徽标键之间。这一点网上抱怨的人很多,以thinkpad swap fn control为关键字一查就知道了。原来IBM很早以前就是把Fn键放在左下角的。另外回车键也变小了些。
- 还有一点个人认为是设计上的缺陷。USB的口被设计成了与桌面垂直,而不是通常的与桌面平行。这样由于我的UMTS卡插上后,由于UMTS卡的宽度比笔记本要厚,这样要么把笔记本垫起来,要么把插UMTS卡的地方悬空。简直无语!
2010-01-22
Vista + SP1开机后出现黑屏
我手里没有Vista的安装盘,倒是有win 7。在此之前有个在一台笔记本上安装win 7的愉快经历。安装很快,并且所有的硬件驱动都自动识别并安装好驱动了,省了很多时间,因此建议他也改用win 7。没想到安装win 7后,硬盘狂转一阵后,也是漆黑一片。关机试图进安全模式,被告知因为安装还没有完成,安装程序不能在安全模式下进行。重启两次都戏。没办法只能把win xp的盘扔进去,再折腾一下自己。安装win xp后,启动后桌面能正常加载。
我原来夸下海口说半小时就能搞定,现在一看没戏了。朋友在旁边玩扑克,看我没解决问题,安慰说,没事,原来那样虽然麻烦点也能用。可是现在不能恢复成原来那个样了,只好拿着他的电脑灰溜溜回家了。回家google了一下,有人提到是BIOS的问题。去厂商的网页下了一个最新的BIOS,更新后,重装win 7,问题解决了!
我怀疑是安装SP 1后带来的问题,因为朋友的机器新买到时就是安装的Vista Home版本,用了一年多都没有这样的问题。总结两点:
1. 解决这类问题时间要估计的宽松一些,有时候半天都不一定能搞定
2. 手里一定得有另外一台能上网的电脑,带刻录机,有空白盘 :)