首页 > 代码库 > Cognos开发ContentManagerServiceStub不能转换为Stub

Cognos开发ContentManagerServiceStub不能转换为Stub

Cognos SDK开发过程中遇到的小错误详细请看下图

技术分享

另:附加了详细的错误信息

Exception in thread "main" java.lang.ClassCastException: com.cognos.developer.schemas.bibus._3.ContentManagerServiceStub cannot be cast to org.apache.axis.client.Stub
at com.cognoschina.cognos.comm.CRNConnect.login(CRNConnect.java:48)
at com.cognoschina.test.TestSearchpath.main(TestSearchpath.java:32)

-------------------------------------------------------------SDK 开发--------------------------------------------------------------------------------------------------------

作为一个不专业的java开发人员 ,在Cognos SDK 开发的过程中,遇到最多的问题也就是jdk版本的问题,class not found的问题,上面的问题设置好jdk,然后根据找不到

的包去sdk\java\lib下面去找就可以了,但是上面的问题看上去好像没那么简单,是不能对象之间的不能转换问题

于是乎就把问题放到了网上:

资料1:http://www.cognoschina.net/club/thread-30669-1-1.html

得到的信息:

技术分享

技术分享

资料2:http://www-01.ibm.com/support/docview.wss?uid=swg21441931

得到的信息:

技术分享

第一个实在是不知道怎么处理,Java学前级别的,于是从第二个资料上面找到了些许信息

再次回到项目中看到有两个不同的axis.jar路径分别是com.cognos.org.apache.axis和org.apache.axis

技术分享

于是便把Java上面和Stub和SOAPHeaderElement有关的类的import改为com.cognos.org.apache.axis

原来报错的时候是

org.apache.axis.message.SOAPHeaderElement;

org.apache.axis.client.Stub;

如果没有cognos-axis.jar需要先导入

技术分享

技术分享

PS:总结问题就是由于不同类型的两个包cognos-axis和axis引起的加载路径不一样导致转换问题.把org.apache.axis

换为com.cognos.org.apache.axis即可.

 

Cognos开发ContentManagerServiceStub不能转换为Stub