Mkyong-中文博客翻译-十一-

Mkyong 中文博客翻译(十一)

原文:Mkyong

协议:CC BY-NC-SA 4.0

找不到包装类 package.jaxws.methodName。你有没有倾向于生成它们?

原文:http://web.archive.org/web/20230101150211/https://mkyong.com/webservices/jax-ws/wrapper-class-package-jaxws-methodname-is-not-found-have-you-run-apt-to-generate-them/

问题

在 JAX-WS 开发中,当部署以下服务端点时,

文件:HelloWorld.java

 package com.mkyong.ws;
//Service Endpoint Interface
@WebService
public interface HelloWorld{

	@WebMethod String getHelloWorldAsString();
} 

文件:HelloWorldImpl.java

 //Service Implementation
package com.mkyong.ws;
@WebService(endpointInterface = "com.mkyong.ws.HelloWorld")
public class HelloWorldImpl implements HelloWorld{

	@Override
	public String getHelloWorldAsString() {
		//...
	}

} 

它会立即显示以下错误信息?

 Exception in thread "main" com.sun.xml.internal.ws.model.RuntimeModelerException: 
	runtime modeler error: 

        Wrapper class com.mkyong.ws.jaxws.GetHelloWorldAsString is not found. 
        Have you run APT to generate them?

	at com.sun.xml.internal.ws.model.RuntimeModeler.getClass(RuntimeModeler.java:256)
	//... 

解决办法

服务端点接口没有用任何@SOAPBinding进行注释,因此,它使用默认的文档样式来发布它。为了便于阅读,您可以将其重写如下:

 //Service Endpoint Interface
@WebService
@SOAPBinding(style = Style.DOCUMENT, use=Use.LITERAL)
public interface HelloWorld{

	@WebMethod String getHelloWorldAsString();
} 

在文档风格中,您需要使用" wsgen "工具来为服务发布生成所有必要的 JAX-WS 可移植工件(映射类、wsdl 或 xsd 模式)。

wsgen 命令

读取服务端点实现类需要使用 wsgen 命令:

 wsgen -keep -cp . com.mkyong.ws.HelloWorldImpl 

它在 package.jaxws 文件夹下为单个getHelloWorldAsString()方法生成两个类。

  1. gethelloworldasstring.java
  2. gethelloworlandstrings response . Java

将这些类复制到正确的文件夹中,在本例中是" com.mkyong.ws.jaxws "。请尝试再次发布它。

参考

  1. wsgen 工具文档

jax-ws web services

为了使用 JSP,您的项目必须配置为使用 JDK

原文:http://web.archive.org/web/20230101150211/http://www.mkyong.com/google-app-engine/your-project-must-be-configured-to-use-a-jdk-in-order-to-use-jsps/

问题

使用 Eclipse 3.7+Google Plugin for Eclipse 来开发 GAE 项目,当在“war”目录下创建一个. jsp 文件时,Eclipse 在 JSP 文件上方显示一个交叉错误图标。

gae jsp show error icon

在 Eclipse problem 视图中,它显示"为了使用 JSP,您项目必须被配置为使用 JDK。”。

解决办法

要解决这个问题,改变你的 Eclipse 安装的 JRE,并把它指向你的 JDK 文件夹。在 Eclipse 菜单中,选择 Windows - > 首选项 - > Java - > 已安装 JREs ,添加您的 JDK 文件夹并选中它。

P.S JSP 需要 JDK“javac”来编译,而 JRE 中并不存在。

## 参考

  1. 使用 JDK 以便使用 JSP 解决谷歌应用引擎问题

gae jdk jsp

posted @ 2024-11-01 16:32  绝不原创的飞龙  阅读(1)  评论(0编辑  收藏  举报