Undefined port type:{http://chillyc.info/api}Name.

来自http://blog.csdn.net/cctt_1/article/details/8639903

接口代码:

package myws;  

import javax.jws.WebParam;
import javax.jws.WebService;  

/**
 *
 * @author 帐前卒
 *
 */
@WebService(targetNamespace = "http://chillyc.info/api", name="HELLO")
public interface WebServiceAPI {
    String hello(@WebParam(name="name")String name);  

}  

这里要注意的是 那个hello函数,必须与webService发布的函数名相一致(要看wdsl文件中的名字。) 另外WebParam中的name也需要和发布函数中的参数名字一致。 这里WebService中传入了两个值。其中name就是刚才WebService中的name. 其实就是wsdl中的portType. 如果这里写错了。就会有Undefined port type:{http://chillyc.info/api}Name. 这个错误。所以要小心。

package myws;  

import java.io.IOException;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.ws.Endpoint;  

/**
 *
 * @author 帐前卒
 *
 */
@WebService(
        name="HELLO",
        targetNamespace="http://chillyc.info/api",
        serviceName="API",
        portName="PortName")
public class WebServiceHolder {
    @WebMethod
    @WebResult(name="return")
    public String hello(@WebParam(name="name")String name) {
        return "hello" + name;
    }  

    public static void main(String[] args) throws IOException {
        Endpoint.publish("http://localhost:80/fake/ws", new WebServiceHolder());
        System.in.read();
    }
}  

调用接口代码:

package myws;  

import java.net.MalformedURLException;
import java.net.URL;  

import javax.xml.namespace.QName;
import javax.xml.ws.Service;  

/**
 *
 * @author 帐前卒
 *
 */
public class Client {
    public static void main(String[] args) throws MalformedURLException {
        WebServiceAPI api = Service.create(
                new URL("http://localhost:80/fake/ws?wsdl"),
                new QName("http://chillyc.info/api", "API"))
                .getPort(WebServiceAPI.class);
        System.out.println(api.hello("sss"));
    }
}  

wsdl内容:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<!--
 Published by JAX-WS RI at http://jax-ws.dev.java.net. RI‘s version is JAX-WS RI 2.1.6 in JDK 6.
-->
<!--
 Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI‘s version is JAX-WS RI 2.1.6 in JDK 6.
-->
<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://chillyc.info/api" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://chillyc.info/api" name="API">
<types>
<xsd:schema>
<xsd:import namespace="http://chillyc.info/api" schemaLocation="http://localhost/fake/ws?xsd=1"/>
</xsd:schema>
</types>
<message name="hello">
<part name="parameters" element="tns:hello"/>
</message>
<message name="helloResponse">
<part name="parameters" element="tns:helloResponse"/>
</message>
<message name="getReturnInfo">
<part name="parameters" element="tns:getReturnInfo"/>
</message>
<message name="getReturnInfoResponse">
<part name="parameters" element="tns:getReturnInfoResponse"/>
</message>
<portType name="HELLO">
<operation name="hello">
<input message="tns:hello"/>
<output message="tns:helloResponse"/>
</operation>
<operation name="getReturnInfo">
<input message="tns:getReturnInfo"/>
<output message="tns:getReturnInfoResponse"/>
</operation>
</portType>
<binding name="PortNameBinding" type="tns:HELLO">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="hello">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="getReturnInfo">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="API">
<port name="PortName" binding="tns:PortNameBinding">
<soap:address location="http://localhost/fake/ws"/>
</port>
</service>
</definitions>  

时间: 2025-01-05 02:11:15

Undefined port type:{http://chillyc.info/api}Name.的相关文章

微信支付:H5吊起支付API,不显示&ldquo;确认支付、输入密码&rdquo;界面

使用公众号进行支付,官方开发帮助文档: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1 其业务流程如下: 按照业务流程进行开发,依据官方的例子,不能弹出选择支付方式及输入密码,页面js代码如下: //调用微信JS api 支付 function jsApiCall() { WeixinJSBridge.invoke( 'getBrandWCPayRequest', <%=wxJsApiParam%>,//josn串 fu

白话SpringCloud | 第十一章:路由网关(Zuul):利用swagger2聚合API文档

前言 通过之前的两篇文章,可以简单的搭建一个路由网关了.而我们知道,现在都奉行前后端分离开发,前后端开发的沟通成本就增加了,所以一般上我们都是通过swagger进行api文档生成的.现在由于使用了统一路由网关了,都希望各微服务的api文档统一的聚合在网关服务中,也方便前端用户查阅,不需要每个服务单独查看.当然了,也是可以做一个文档索引网页进行各微服务的api文档链接的.今天,我们就来讲下使用swagger实现自动化聚合微服务文档功能. 注:关于Swagger的介绍和使用,由于在之前的Spring

构建你的长寿命的API第1部分:规范驱动的API开发

构建你的长寿命的API第1部分:规范驱动的API开发 这篇文章是由MuleSoft的Mike Stowe在nginx.conf 2016公布的演示文稿改编的.第一部分重点是规范驱动的API开发. 第二部分讨论的最佳实践.你能够查看完整的呈现的记录的v=G8p4g3yYLBw">YouTube.详细信息例如以下: 0:00 介绍 1:52 API正在改变世界 2:32 API正在连接一切 3:36 API应该是持久的 4:01 构建一个持久的API的5个步骤 4:38 从长计议 6:03 你

JBPM学习(二):ProcessEngine与Service API

1.获取processEngine的方法: a) 方法一 private ProcessEngine processEngine = new Configuration().setResource("jbpm.cfg.xml").buildProcessEngine(); b) 方法二 // 获取单例的ProcessEngine对象,使用的是默认的配置文件(jbpm.cfg.xml) private ProcessEngine processEngine = Configuration

【MFC】截图编辑插件技术总结(2):现有截屏API分析

作为系列博文的第一篇,先写些简单的吧,也是对自己学习过的东西的总结. BitBlt 首先,是最常用的贴图函数之一的BitBlt,作用是从源DC中拷贝指定大小的图片到目标DC中,至于DC是什么,这里就不再赘述了,请自行百度.下面给出该函数的参数列表: BOOL BitBlt( HDC hdcDest,// 目标DC的Handle int nXDest, // 目标位置的左上角X坐标 int nYDest, // 目标位置的左上角Y坐标 int nWidth, // 需要拷贝的图片的宽 int nH

转:基于科大讯飞语音API语音识别开发详解

最近项目需要用到android语音识别,立马就想到科大讯飞,结合官方实例及阅读API文档,初步的完成了Android语音识别,下面是实现过程实录. 一.准备工作 1.你需要android手机应用开发基础 2.科大讯飞语音识别SDK android版 3.科大讯飞语音识别开发API文档 4.android手机 关于科大讯飞SDK及API文档,请到科大语音官网下载:http://open.voicecloud.cn/ 当然SDK和API有多个版本可选,按照你的需要下载,其次,下载需要填写资料申请注册

[原创]java WEB学习笔记51:国际化 概述,API 之 locale类,dataFormat类,numberFormat类, MessageFormat类,ResourceBundle 类

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

ASP.NET Core 3.0 实战:构建多版本 API 接口

第一次在博客写分享,请多多捧场,如有歧义请多多包含! 因为业务需求发展需要,所以API接口的变更升级是必不可少的事情,而原有的接口是不可能马上停止使用的.例如:Login接口为例,1.0版本之返回用户的基本信息,而2.0版本的迭代下,要把用户祖宗十八代信息都要返回到客户端,这时候1.0 vs 2.0版本的返回信息有一点信息上的差异,如果在不进行版本控制的情况下,在原1.0的版本下优化,那么会出现一个比较严重的问题,如果还有在使用原1.0版本的终端岂不是GG了,所以如何能鱼与熊掌兼得,同时为1.0

Testlink安装:Notice:Undefined index: type in C:\inetpub\wwwroot\testlink-1.9.3\install\installCheck.php on line 41

问题现象: 问题原因:php配置参数中错误提示显示: 问题解决:修改php.ini配置文件,修改为如下: error_reporting = E_ALL & ~E_NOTICE display_errors = Off