重构代码之后,发现在C#调用Java接口时,对象里的属性值全是null,历经破折才发现是命名空间的问题。C#使用的是之前的默认命名空间,所以在重构后,命名空间发生了变化,导致传值为null,这也是内外部变化没有解耦导致。
解决方案如下:
1.将java文件的VO拷贝到原来的目录下
2.在现在的model的vo同目录下新建vo同名的aegis.xml,在这个文件里面指定命名空间
3.在java类的方法签名上用@注解增加命名空间,参见:http://blog.csdn.net/vivihello/article/details/3611472
优缺点分析:
1.比较简单
2.比较合理
3.比较难理解