Java Eclipse:Web服务:使用Tomcat7时发生404错误
我正在使用此链接使用buttom up方法创建web服务: 但是,无论我做什么,我都会遇到这个错误: Etat HTTP 404-/StandardWebService/services/ProductServiceImplPort 键入融洽关系détat 消息/StandardWebService/services/ProductServiceImport 说明资源需求不存在争议Java Eclipse:Web服务:使用Tomcat7时发生404错误,java,eclipse,tomcat7,Java,Eclipse,Tomcat7,我正在使用此链接使用buttom up方法创建web服务: 但是,无论我做什么,我都会遇到这个错误: Etat HTTP 404-/StandardWebService/services/ProductServiceImplPort 键入融洽关系détat 消息/StandardWebService/services/ProductServiceImport 说明资源需求不存在争议 如蒙您的帮助,我们将不胜感激 Ey!我终于部署了Web服务 我对链接提供的类所做的唯一更改是在类ProductSe
如蒙您的帮助,我们将不胜感激 Ey!我终于部署了Web服务 我对链接提供的类所做的唯一更改是在类ProductService中添加targetNamespace
package es.rubioric.ws;
import java.util.List;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService(targetNamespace="http://ws.rubioric.es/")
public interface ProductService {
//Return List of product
List<Product> getProducts();
//add the product into the list
void addProduct(@WebParam(name="product")Product product);
}
包es.rubioric.ws;
导入java.util.List;
导入javax.jws.WebParam;
导入javax.jws.WebService;
@WebService(targetNamespace=”http://ws.rubioric.es/")
公共接口产品服务{
//产品退货清单
列出getProducts();
//将产品添加到列表中
void addProduct(@WebParam(name=“product”)产品);
}
EDT:包含服务Impl
package es.rubioric.ws;
import java.util.ArrayList;
import java.util.List;
import javax.jws.WebService;
@WebService(endpointInterface ="es.rubioric.ws.ProductService")
public class ProductServiceImpl implements ProductService{
@Override
public List<Product> getProducts() {
List<Product> product=new ArrayList<Product>();
product.add(new Product("Windows","OS", "windows server", 300));
product.add(new Product("Linux","OS", "Linux server", 100));
product.add(new Product("Mac","OS", "Mac server", 500));
return product;
}
@Override
public void addProduct(Product product) {
System.out.println(product);
}
}
包es.rubioric.ws;
导入java.util.ArrayList;
导入java.util.List;
导入javax.jws.WebService;
@WebService(endpointInterface=“es.rubioric.ws.ProductService”)
公共类ProductServiceImpl实现ProductService{
@凌驾
公共列表产品(){
列表产品=新的ArrayList();
添加(新产品(“Windows”、“OS”、“Windows服务器”、300));
添加(新产品(“Linux”、“OS”、“Linux服务器”、100));
添加(新产品(“Mac”、“OS”、“Mac服务器”、500));
退货产品;
}
@凌驾
公共产品(产品){
系统输出打印项次(产品);
}
}
这个类中包含的targetNamespace中的最后一个斜杠(“/”)似乎非常重要。我不知道使用的自动生成机制是如何工作的,但它会生成两个名称空间:和
包括斜杠,这些名称空间是不同的——这似乎是一件好事[很抱歉我解释得不好,我对这种Web服务不太了解],并且允许部署
我包括了另一张图片,以向您解释我对console的意思
它总是红色的,不介意它的颜色,但是在那里你会得到一个指向问题的堆栈跟踪
另一个提示:在Eclipse Mars中,在这个窗口之后
如果下一次推送两次,将显示一个SOAP配置窗口
取消选中“生成单独的XSD…”以避免生成额外冲突的XSD文件
让我知道这是否适合你 请包含您使用的类的代码。阅读手册时,我想知道您是否使用了示例中定义的相同软件包。如果您不使用自己的包更改此行@WebService(endpointInterface=“com.dtechtalkcenter.service.ProductService”),则可能会导致您收到的错误。我已将该包命名为testeurfinal1,并已在productserviceinpl:@WebService(endpointInterface=“testeurfinal1.ProductService”)中编写。在错误报告中,我有这样一句话:AVERTISSEMENT:[SetPropertiesRule]{Server/Service/Engine/Host/Context}将属性“source”设置为“org.eclipse.jst.jee.Server:testeurfinal1”未找到匹配的属性。但这只是一个警告。当谈到404错误时,通常认为web.xml有一些问题(额外的注释),但我无法找出它的错误…我正在尝试重现手动步骤。可能需要一段时间。对不起,我也无法部署Web服务。生成的xsd文件与命名空间冲突。当我尝试启动服务器时,找不到服务定义。在控制台中查找引发中止创建并再次询问的堆栈跟踪:-(感谢您的回复,但我仍然收到相同的错误。事实上,我有一个问题:您已将“”作为targetnamespace写入,并已将包命名为:es.rubioric.ws。我的包名为'testeurfinal1'。因此,targetnamespace是"?…第二个问题是关于链接中的第五步::在服务实现字段中,您是否编写了:com.dtechtalkcenter…?这对我不起作用。因此,我选择了:testeurfinal1.ProductServiceImpl作为该字段…我试图了解哪些地方不顺利…:/@JohnPacker我已经包含了我的服务实现命名空间必须是URL。您的targetnamespace似乎不正确。请尝试更改包,包括您所在的国家(或有史以来最好的国家/地区)我重新创建了整个项目。生成了WSDL和XSD文件,但仍然有404错误。这就是我得到的:这是关于发生的异常:我无法访问第一个映像。相对于第二个映像,web服务生成库似乎有问题y、 我使用了ApacheCfx3.1.5。