WebService系列:问题处理(Troubleshooting)

二月 14, 2009 in Oracle 融合中间件

 

 

WebService系列讲解PLSQL Web Service + OC4J 开发过程中遇到很多的问题,本文将一些常见的问题进行整理,以备后续查阅

这些问题的解决方案不一定是唯一的解决方法,参考的过程中请根据实际情况进行比较的筛选

 

1,OC4J运行Web Service:Missing <wsse:Security> in SOAP Header

原因:SOAP头中没有包括安全验证的信息,需要为请求的消息提供SOAP头信息

解决方案:实现IHeaderHandler接口的类,并赋给Soapclient30的实例;如果使用OC4J测试界面,选择必须的选项,让它包括头信息

 

2,VBA代理程序报错:解析SOAP头失败

背景:已经实现了IHeaderHandler接口,并赋给了Soapclient30的实例,同时OC4J服务器端没有报出任何错误,但是VBA代理程序报错:解析SOAP头失败

我遇到的原因:IHeaderHandler接口的实现类中IHeaderHandler_ReadHeader和IHeaderHandler_WillWriteHeaders函数没有返回True

解决方案:修改IHeaderHandler_ReadHeader和IHeaderHandler_WillWriteHeaders方法的返回值为True

 

3,OC4J运行Web Service:返回自定义Table类型报OWS-04005错误

原因:由于在JDeveloper中发布Web Services的时候没有包括自定义类型的实现类

解决方案:重新发布,选择需要的Java Class文件

 

4,PLSQL:传入Table参数多出一行空行

问题描述:传入的Table类型参数,传到PL/SQL端后,由于序列化的缘故,它会自动在Table后面添加一行空的记录因此在进行PL/SQL处理的时候,需要将Count减1。
                  否则很有可能报出不能插入Null的错误,当然这样的错误很有可能也是程序中没有提供必要的值,需要进行仔细的检查

解决方案:PLSQL程序中将PLSQL 记录表变量的数量减1

 

5,OC4J运行Web Service:Policy requires nonce

错误信息如下:ERROR OWS-04005 An error occurred for port: xxxx: oracle.j2ee.ws.common.soap.fault.SOAP11FaultException: Policy requires nonce.

原因:添加安全验证信息的时候有一个选项没有去掉(Nonce Required in Token/标记中所需的现时)

解决方案:修改Web Services的安全验证设置后重新发布或者在OC4J上面修改选项

 

6,OC4J运行Web Service:The security token could not be authenticated or authorized

原因:提供的安全验证用户名或者密码不正确,这个错误信息不属于程序的错误

解决方案:提供正确的信息,如果无法解决请找OC4J管理员协助

 

以上是我在实际的开发过程中遇到的一些关键问题!!!

 

相关文章:

  1. WebService系列:将PL/SQL功能发布为Web Service到OC4J
  2. WebService系列:PL/SQL调用Web Service(Web Service Callout)
  3. WebService系列:为WebService添加安全性
  4. WebService系列:OC4J安全性提供程序
  5. WebService系列:创建PL/SQL复合式数据类型Web Services
  6. WebService系列:Office VBA调用Web Service
  7. WebService系列:Office VBA调用已安全性认证的Web Service

2 responses to WebService系列:问题处理(Troubleshooting)

  1. 偶然看到,上来学习学习,恭喜恭喜

  2. 恭喜开张,好多看不懂啊

Leave a reply

You must be logged in to post a comment.