我构建了一个最小的Web服务,并使用javax.xml.ws.Endpoint发布它.如果我试图获得WSDL
http://localhost:1234/AddService?wsdl它工作正常.
试图收到它http://192.168.0.133:1234/AddService?wsdl,我没有收到任何东西.该地址与localhost相同.
是否有可能在不提供地址的情况下发布网络服务?
package test;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class AddService {
@WebMethod
public int add(int a, int b){
return a+b;
}
public static void main(String[] args ){
Endpoint.publish("http://localhost:1234/AddService", new AddService());
}
}
Run Code Online (Sandbox Code Playgroud)
将代码更改为
Endpoint.publish("http://192.168.0.133:1234/AddService", new AddService());
Run Code Online (Sandbox Code Playgroud)
获取IP地址上的wsdl但不是localhost.
是不是只有定义端口的可能性?
我尝试在 core.logic 中做类似的事情
(defn count-different-elements-in-list [coll]
(count (set coll)))
Run Code Online (Sandbox Code Playgroud)
这适用于整数
(should= 1 (count-different-elements-in-list '(1 1 1)))
(should= 2 (count-different-elements-in-list '(1 1 2)))
(should= 3 (count-different-elements-in-list '(1 3 2)))
Run Code Online (Sandbox Code Playgroud)
但现在我尝试使用 core.logic 来解决一些问题,但事情变得很混乱
(run* [a b c]
;;the variables get values between 1 and 3
(fd/in a b c (fd/interval 1 3))
;; in the list there should only be 2 different values
(== 2 (count-different-elements-in-list '(a b c))))
Run Code Online (Sandbox Code Playgroud)
但问题来了, abc 不会作为值传递给函数。它们作为变量传递。对于三个变量,count- different-elements-in-list 返回始终为 3 并且 core.logic 找不到解决方案(空列表)。
但我正在寻找这个结果。
([1 1 2] …Run Code Online (Sandbox Code Playgroud)