遭遇InfoPath 命名空间问题,ns0 or ns1

背景:

BizTalk和InfoPath+WSS配合使用的时候,会出现这样的问题

biztalk做了一个xsd schema,用infopath导入做模板,publish到wss站点里时,添加了自定义栏,在BizTalk WSS Adapter写入时候发现总是没有值

%XPATH=//ns0:People/Approve/Status%

SLKL`P6()PC{91Z1_}2I}9O

而且更糟糕的是,对于filter 这些字段的view根本不起作用

后来反复试验,发现如果把namespace prefix从ns0修改为ns1就可以通过了,

对于普通文件是可以操作,但是试验下来,发现biztalk死活只能生成ns0,不能生成ns1,

 

解决方案:有两种方案

1, 解开xsn文件,修改其中的manefest.xsf文件,修改ns1为ns0,然后重新package,重新publish,注意可能需要修改template的view.

2.在定义schema时候特意加上这样一句:

xmlns:ns0=<target namespace>

xmlns:ns0=http://gulou.bta.canlian.peoplemessage/

这样导入schema的template里面就是使用ns0做namespace prefix了

posted @ 2009-03-06 00:40  upzone  阅读(376)  评论(0编辑  收藏  举报