热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

org.apache.axis2.AxisFault:错误,麻烦各位帮忙看下!

具体的错误信息如下:org.apache.axis2.AxisFault:ArequiredheaderrepresentingaMessageAddressingProperty
具体的错误信息如下:
org.apache.axis2.AxisFault: A required header representing a Message Addressing Property is not present

错误产生的场景:
我用同一WSDL文件生成的服务端和客户端,用客户端调服务端时报的错,DEBUG跟进去调试,发现参数都有,只是在向服务端发请求的那个方法那出的错,方法如下:(具体出错的地方我标记成红色了)


package com.chinamobile.www.vgop.serviceorder.v1_0;
import java.rmi.RemoteException;

import org.apache.axis2.AxisFault;
import org.apache.axis2.transport.http.HTTPConstants;
import com.chinamobile.www.vgop.serviceorder.v1_0_sub.OrderServiceStub;
import com.chinamobile.www.vgop.serviceorder.v1_0_sub.OrderServiceStub.SyncOrderRelationCfmResponse;

public class TaskObject implements Runnable
{
    
    private MsgHeaderClient msgHeaderClient = null;
    
    public MsgHeaderClient getMsgHeaderClient()
    {
        return msgHeaderClient;
    }
    
    public void setMsgHeaderClient(MsgHeaderClient msgHeaderClient)
    {
        this.msgHeaderClient = msgHeaderClient;
    }
    
    public void run()
    {
        try
        {
            //睡眠1s,防止任务添加进来就执行,导致服务端还没有响应的时候就任务就已经执行了。
            Thread.sleep(1000L);
        }
        catch (InterruptedException e2)
        {
            e2.printStackTrace();
        }
        OrderServiceStub stub = null;
        try
        {
            stub = new OrderServiceStub("http://10.40.55.23:8080/bmp/services/OrderService");
        }
        catch (AxisFault e1)
        {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        stub._getServiceClient().getOptions().setProperty(HTTPConstants.CHUNKED, false);
        stub._getServiceClient().getOptions().setTimeOutInMilliSeconds(1600000);
        
        OrderServiceStub.SyncOrderRelationCfmReq req = new OrderServiceStub.SyncOrderRelationCfmReq();
        
        OrderServiceStub.SyncOrderRelationCfm syncOrderRelationCfm = new OrderServiceStub.SyncOrderRelationCfm();
        
        // 开户
        SyncOrderRelationCfmResponse syncOrderRelationCfmResp =
            new OrderServiceStub.SyncOrderRelationCfmResponse();
        
        req.setMsgTransactionID(msgHeaderClient.getTransactionID().getTransactionID());
        req.setCfmResult(msgHeaderClient.getProcResult());
        syncOrderRelationCfm.setSyncOrderRelationCfmReq(req);
        
        try
        {
            syncOrderRelationCfmResp =
                stub.syncOrderRelationCfm(syncOrderRelationCfm,
                    msgHeaderClient.getMsgName(),
                    msgHeaderClient.getTransactionID(),
                    msgHeaderClient.getVersion(),
                    msgHeaderClient.getSendAddress(),
                    msgHeaderClient.getDestAddress(),
                    msgHeaderClient.getOriginalAddress(),
                    msgHeaderClient.getTimeStamp());
        }
        catch (RemoteException e)
        {
            e.printStackTrace();
        }
        
        System.out.println(syncOrderRelationCfmResp.getSyncOrderRelationCfmResp().getResult());
        
        msgHeaderClient = null;
    }
    
}

8 个解决方案

#1


忘记标记出错的地方了!呵呵  补下!

package com.chinamobile.www.vgop.serviceorder.v1_0;
import java.rmi.RemoteException;

import org.apache.axis2.AxisFault;
import org.apache.axis2.transport.http.HTTPConstants;
import com.chinamobile.www.vgop.serviceorder.v1_0_sub.OrderServiceStub;
import com.chinamobile.www.vgop.serviceorder.v1_0_sub.OrderServiceStub.SyncOrderRelationCfmResponse;

public class TaskObject implements Runnable
{
    
  private MsgHeaderClient msgHeaderClient = null;
    
  public MsgHeaderClient getMsgHeaderClient()
  {
  return msgHeaderClient;
  }
    
  public void setMsgHeaderClient(MsgHeaderClient msgHeaderClient)
  {
  this.msgHeaderClient = msgHeaderClient;
  }
    
  public void run()
  {
  try
  {
  //睡眠1s,防止任务添加进来就执行,导致服务端还没有响应的时候就任务就已经执行了。
  Thread.sleep(1000L);
  }
  catch (InterruptedException e2)
  {
  e2.printStackTrace();
  }
  OrderServiceStub stub = null;
  try
  {
  stub = new OrderServiceStub("http://10.40.55.23:8080/bmp/services/OrderService");
  }
  catch (AxisFault e1)
  {
  // TODO Auto-generated catch block
  e1.printStackTrace();
  }
  stub._getServiceClient().getOptions().setProperty(HTTPConstants.CHUNKED, false);
  stub._getServiceClient().getOptions().setTimeOutInMilliSeconds(1600000);
    
  OrderServiceStub.SyncOrderRelationCfmReq req = new OrderServiceStub.SyncOrderRelationCfmReq();
    
  OrderServiceStub.SyncOrderRelationCfm syncOrderRelationCfm = new OrderServiceStub.SyncOrderRelationCfm();
    
  // 开户
  SyncOrderRelationCfmResponse syncOrderRelationCfmResp =
  new OrderServiceStub.SyncOrderRelationCfmResponse();
    
  req.setMsgTransactionID(msgHeaderClient.getTransactionID().getTransactionID());
  req.setCfmResult(msgHeaderClient.getProcResult());
  syncOrderRelationCfm.setSyncOrderRelationCfmReq(req);
    
  try
  {
  syncOrderRelationCfmResp =
   stub.syncOrderRelationCfm(syncOrderRelationCfm,
  msgHeaderClient.getMsgName(),
  msgHeaderClient.getTransactionID(),
  msgHeaderClient.getVersion(),
  msgHeaderClient.getSendAddress(),
  msgHeaderClient.getDestAddress(),
  msgHeaderClient.getOriginalAddress(),
  msgHeaderClient.getTimeStamp());
  }
  catch (RemoteException e)
  {
   e.printStackTrace();
  }
    
  System.out.println(syncOrderRelationCfmResp.getSyncOrderRelationCfmResp().getResult());
    
  msgHeaderClient = null;
  }
    
}

#2


没看到红色的地方啊

#3


很久以前是这样调的
TDSWebServiceLocator tdsLocator = new TDSWebServiceLocator();
TDSWebServiceSoap tds = (TDSWebServiceSoap12Stub)tdsLocator.getTDSWebServiceSoap12() ;;
result = tds.queryID(domain, username, password, id, port, DN);

#4


你估计这个错有没有可能是跟WSDL文件本身有问题啊?

#5


而且我的代码现在都是用AXIS2生成的。

#6


你看你调用是不是有错
web服务发布出来一般不会有错吧

#7


应该是没错的,我在IE里面访问的了,是可以访问的到的。

#8


··········没人理啊 !大侠们帮忙看下啊!

推荐阅读
  • JVM:33 如何查看JVM的Full GC日志
    1.示例代码packagecom.webcode;publicclassDemo4{publicstaticvoidmain(String[]args){byte[]arr ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
    介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文介绍了在多平台下进行条件编译的必要性,以及具体的实现方法。通过示例代码展示了如何使用条件编译来实现不同平台的功能。最后总结了只要接口相同,不同平台下的编译运行结果也会相同。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • Java自带的观察者模式及实现方法详解
    本文介绍了Java自带的观察者模式,包括Observer和Observable对象的定义和使用方法。通过添加观察者和设置内部标志位,当被观察者中的事件发生变化时,通知观察者对象并执行相应的操作。实现观察者模式非常简单,只需继承Observable类和实现Observer接口即可。详情请参考Java官方api文档。 ... [详细]
  • Spring学习(4):Spring管理对象之间的关联关系
    本文是关于Spring学习的第四篇文章,讲述了Spring框架中管理对象之间的关联关系。文章介绍了MessageService类和MessagePrinter类的实现,并解释了它们之间的关联关系。通过学习本文,读者可以了解Spring框架中对象之间的关联关系的概念和实现方式。 ... [详细]
  • 数组的排序:数组本身有Arrays类中的sort()方法,这里写几种常见的排序方法。(1)冒泡排序法publicstaticvoidmain(String[]args ... [详细]
  • 面向对象之3:封装的总结及实现方法
    本文总结了面向对象中封装的概念和好处,以及在Java中如何实现封装。封装是将过程和数据用一个外壳隐藏起来,只能通过提供的接口进行访问。适当的封装可以提高程序的理解性和维护性,增强程序的安全性。在Java中,封装可以通过将属性私有化并使用权限修饰符来实现,同时可以通过方法来访问属性并加入限制条件。 ... [详细]
  • (三)多表代码生成的实现方法
    本文介绍了一种实现多表代码生成的方法,使用了java代码和org.jeecg框架中的相关类和接口。通过设置主表配置,可以生成父子表的数据模型。 ... [详细]
  • Summarize function is doing alignment without timezone ?
    Hi.Imtryingtogetsummarizefrom00:00otfirstdayofthismonthametric, ... [详细]
author-avatar
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有