Java 当使用端点类发布Web服务时,WSDL是在哪里创建的?
例如:我的Web服务中有3个类 1-SEI(Web服务的接口): 2-SIB(接口的实现) 3-以及负责发布的班级Java 当使用端点类发布Web服务时,WSDL是在哪里创建的?,java,web-services,wsdl,server,endpoint,Java,Web Services,Wsdl,Server,Endpoint,例如:我的Web服务中有3个类 1-SEI(Web服务的接口): 2-SIB(接口的实现) 3-以及负责发布的班级 package calc; import javax.xml.ws.Endpoint; public class CalculadoraServerPublisher { public static void main(String[] args) { Endpoint.publish("http://127.0.0.1:9876/calc",
package calc;
import javax.xml.ws.Endpoint;
public class CalculadoraServerPublisher {
public static void main(String[] args)
{
Endpoint.publish("http://127.0.0.1:9876/calc",
new CalculadoraServerImpl());
}
}
如果我运行第三个类并访问此地址:
http://127.0.0.1:9876/calc?wsdl
我将看到我的Web服务的WSDL。现在有一个问题:如果我可以访问它,它实际上位于我的计算机中的某个地方,但是……在哪里?我尝试使用我所知道的每一个Windows搜索引擎(我使用的是Windows 8.1),但没有一个能够找到它。毕竟,它在哪里?在您的示例中,当访问地址时,WSDL契约在运行时按需生成。这就是为什么在驱动器的任何位置都找不到物理WSDL文件 如果仔细查看URL,它不会指向物理的.wsdl文件:
http://127.0.0.1:9876/calc?wsdl
。它只是问号后面的一个查询字符串
如果需要更多信息,请参阅
package calc;
import javax.xml.ws.Endpoint;
public class CalculadoraServerPublisher {
public static void main(String[] args)
{
Endpoint.publish("http://127.0.0.1:9876/calc",
new CalculadoraServerImpl());
}
}
http://127.0.0.1:9876/calc?wsdl