CXF WebService框架,发布服务,targetNamespace问题

萌B 2017-02-15 09:04:47
1 服务点接口。

@WebService
public interface IHelloWorld {
public String getHellow( @WebParam(name="name") String name);
}

2 实现类

@WebService(endpointInterface="com.web.hellow.IHelloWorld",serviceName="Hellow")
public class HelloWorld implements IHelloWorld {
public String getHellow(String name) {
String str="你好,世界;你好,"+name;
return str;
}
}

3 暴露Web服务

public static void main(String[] args) {
String address="http://localhost:8000/hellow";
HelloWorld hellow = new HelloWorld();
Endpoint.publish(address, hellow);
}

以上生成正确wsdl,如下


targetNamespace为默认(包名倒置)
=============================================================
以上都没问题,我要修改targetNamespace为“http://aaa/”,代码如下

@WebService(targetNamespace="http://aaa/")
public interface IHelloWorld {
public String getHellow( @WebParam(name="name") String name);
}

-暴露服务生成wsdl如下

有如下几个问题:
1.targetNamespace并没有修改,而绿色划线处namespace被修改
2.wsdl的内容发生了很大变化

希望大神详细一些说明一下


...全文
7446 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我忘记了太久了 。现在也不在那个公司了 ,你试试吧targetnamespace写在这里试试
weixin_39458373 2020-12-30
  • 打赏
  • 举报
回复
引用 7 楼 取个名字和娶个老婆一样难 的回复:
老哥 你怎么实现的呢 我改了之后就无法调用了啊
你修改完之后怎么调通的,是修改客户端吗
  • 打赏
  • 举报
回复
找了所有的 都没有发现可以的 最后只在 楼主说的这个方法才可以。把targetNamespace写在接口上的webservice注解。 但是楼主说的那个第二个问题。我目前是调通了,还没有发现有什么问题。
  • 打赏
  • 举报
回复
老哥 你怎么实现的呢 我改了之后就无法调用了啊
匠子 2018-01-13
  • 打赏
  • 举报
回复
我的怎么不能改targetNamespace,你是怎么改的
1223111 2017-02-15
  • 打赏
  • 举报
回复

@WebService(endpointInterface="com.web.hellow.IHelloWorld",serviceName="Hellow",targetNamespace="http://aaa/")
public class HelloWorld implements IHelloWorld {
    public String getHellow(String name) {
        String str="你好,世界;你好,"+name;
        return str;
    }
}

萌B 2017-02-15
  • 打赏
  • 举报
回复
引用 1 楼 qq_30930805 的回复:
你笑啥,赶紧给我看看是为什么
試毅-思伟 2017-02-15
  • 打赏
  • 举报
回复
試毅-思伟 2017-02-15
  • 打赏
  • 举报
回复
没必要纠结 。 最好 是都放在 实现类里写 就不会出扫描问题了 . 注解不要放在接口 会出事
萌B 2017-02-15
  • 打赏
  • 举报
回复
引用 3 楼 lijianjun0608 的回复:

@WebService(endpointInterface="com.web.hellow.IHelloWorld",serviceName="Hellow",targetNamespace="http://aaa/")
public class HelloWorld implements IHelloWorld {
    public String getHellow(String name) {
        String str="你好,世界;你好,"+name;
        return str;
    }
}

解决了第一个问题,targetNamespace修改成功了,但是第二个问题,为什么设置了targetNamespace以后,wsdl报文发生了很大变化

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧