我是网络服务开发的初学者。我想使用 wsgen.exe 生成工件。
这是我的代码:
package com.calc.ws;
import javax.jws.WebService;
@WebService
public class Calculator {
public int add(int a, int b) {
return (a + b);
}
public int sub(int a, int b) {
return (a - b);
}
}
Run Code Online (Sandbox Code Playgroud)
我面临的问题是当我想使用此命令(一行)从命令行生成工件时:
C:\Program Files\Java\jdk1.7.0_05\bin\wsgen
-cp "c:\users\mico\workspaceSOA\calcWS\src\com.calc.ws.Calculator"
-verbose
-d "C:\users\mico\classes\"
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Missing SEI.
Run Code Online (Sandbox Code Playgroud)
是什么原因造成的?
当部署并运行用JAX-WS开发的Web服务时,我可以看到一个摘要页面,其中包含一些信息,如下图所示:
http://www.mkyong.com/webservices/jax-ws/deploy-jax-ws-web-services-on-tomcat/

对于最终实现,我们希望删除该页面,以便在返回自定义页面或空白页面的同时仍然可以访问Web服务端点。
我们当前正在Tomcat上运行。
我真的无法区分REST和POX Web服务.我的意思是,POX不能被视为具有XML消息定义的REST Web服务吗?
我正在使用Spring websocket支持.我的问题是如何设置websocket连接超时.现在连接几分钟后自动关闭.我希望永远不要关闭连接.
这是我的websocket处理程序:
public class MyHandler implements WebSocketHandler {
private Logger logger = LoggerFactory.getLogger(this.getClass());
class MyTimerTask extends TimerTask {
private WebSocketSession session;
public MyTimerTask(WebSocketSession session) {
this.session = session;
}
@Override
public void run() {
try {
String msg = ((int)(Math.random()*50)) + "";
this.session.sendMessage(new TextMessage(msg.toString()));
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Autowired
private UserDao userDao;
@Autowired
private JdbcDaoImpl jdbcDaoImpl;
private Timer timer;
@Override
public void afterConnectionEstablished(WebSocketSession session)
throws Exception {
System.out.println("websocket????");
timer = new Timer();
timer.schedule(new MyTimerTask(session), …Run Code Online (Sandbox Code Playgroud) 我有一个要求,我使用 Eclipse 中的 Axis2 从 Java 调用基于 SOAP 的 Web 服务。Web 服务代码使用 C# 编写,扩展名为BasicHttpBinding.
但是当我从客户端存根调用该方法时,我收到此错误。
org.apache.axis2.AxisFault:未将对象引用设置为对象的实例。
谁能帮我弄清楚这个?这是在服务端还是在客户端?以前我收到“内部服务器错误”,然后他们必须添加一些内容,以便我可以在日志中看到此错误。
我试图映射yes/no,true/false,Y/N在JAX-RS网址查询参数一个布尔值,但它仅映射true/false所有其他的值映射到错误的所有的时间成功.
我理解在映射url查询参数时,jAX-RS会尝试查找获取字符串参数的给定数据类型构造函数,并根据构造函数的操作将查询参数转换为声明的数据类型的对象.Boolean类确实true/TRUE为true,并将所有其他值视为false.
有没有一种方法来映射yes/no, y/n以true/false?
我以前从未处理过XML,所以我不确定如何在XML文件中处理CDATA.我迷失在节点,父节点,子节点,nList等中.
谁能告诉我这些代码片段的问题是什么?
我的getTagValue()方法适用于除"详细信息"之外的所有标记,"详细信息"是包含CDATA的标记.
.....
NodeList nList = doc.getElementsByTagName("Assignment");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
results = ("Class : " + getTagValue("ClassName", eElement)) +
("Period : " + getTagValue("Period", eElement)) +
("Assignment : " + getTagValue("Details", eElement));
myAssignments.add(results);
}
}
.....
private String getTagValue(String sTag, Element eElement) {
NodeList nlList = eElement.getElementsByTagName(sTag).item(0).getChildNodes();
Node nValue = (Node) nlList.item(0);
if((CharacterData)nValue instanceof CharacterData)
{ …Run Code Online (Sandbox Code Playgroud) 我正在使用Eclipse,制作一个动态的Web项目,并在我的JSP中包含了JSTL.一切正常,我有核心自动完成等等.
问题如下:当我foreach使用JSTL自定义对象的特定数组列表时,我无法访问实例的属性.这是一个例子:
<c:forEach var="person" items="${listOfPeople}">
<c:out value="${person.name}" />
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
所以,person有一个属性getName().如果我使用scriplets例如:
<%
Person p = new Person();
p.getName();
%>
Run Code Online (Sandbox Code Playgroud)
Eclipse在对象上启用自动完成功能p,但是当我使用JSTL时,实例上没有自动完成功能.
我的Eclipse是缺少或错误的,还是没有自动完成工作?
我定义了以下Spring bean:
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:messages</value>
</list>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
控制器:
@Controller
public class EuserController {
@Inject
MessageSource messageSource;
@RequestMapping(value="/euser/{empId}", method=RequestMethod.DELETE)
public @ResponseBody String deleteEeuserById(@PathVariable(value="empId") Integer id) {
return messageSource.getMessage("deleteEuser.success", null, LocaleContextHolder.getLocale());
}
}
Run Code Online (Sandbox Code Playgroud)
它工作正常.但是当我试图替换时:
org.springframework.context.support.ReloadableResourceBundleMessageSource
Run Code Online (Sandbox Code Playgroud)
有:
org.springframework.context.support.ResourceBundleMessageSource
Run Code Online (Sandbox Code Playgroud)
我得到了一个org.springframework.context.NoSuchMessageException.
使用org.springframework.context.support.ResourceBundleMessageSource相反时会发生什么?
我的JSP中有这个代码:
<form:form commandName="Recipient" name="mailForm"
action="MailSuccess.jsp" method="get">
<form:input path="toAddress"/>
<form:input path="subject"/>
<input type="submit" value="Send"/>
</form:form>
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
org.apache.jasper.JasperException:/SendMail.jsp(12,0)form:form标签声明它接受动态属性但没有实现所需的接口
我的猜测是我错过了一些JAR文件,但我不确定.任何人都可以提供一些信息,说明为什么会这样?
即使在支持websocket的浏览器上,SockJS是否会模拟websockets?
我正在尝试使用websocket和RabbitMQ在Web上发送和接收消息.RabbitMQ提供了一个rabbitmq-web-stomp插件,它使用Sockjs桥接websocket和RabbitMQ STOMP插件.
但是SockJS说这是一个websocket模拟器.所以我想询问它是否会在支持websockets的浏览器上模拟websocket.
我创建了一个Web服务API,它的体系结构使得服务器需要客户端对请求进行签名以及分配给它的密钥(签名在多个请求之间总是不同).
服务器将客户端的签名与其自己的计算签名进行匹配.如果它们匹配,则服务器返回响应.
我想知道客户端是否应检查从服务器返回的响应,以查看它是否来自发出请求的同一应用程序.
HTTP请求和HTTP响应之间是否存在任何类型的攻击?
我使用 RESTful 方法编写了一个 Web 服务,并且有不止一种接受 POST 请求的方法,例如:
@Path("/user")
class User{
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public UserMasterDto getUserDetails(MultivaluedMap<String, String> userParams) {
// other stuff..
}
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public UserMasterDto getUserDetails2(MultivaluedMap<String, String> userParams){
// other stuff..
}
}
Run Code Online (Sandbox Code Playgroud)
getUserDetails2我想从 Android 应用程序中调用特定的方法。我需要做什么?