小编Bog*_*dan的帖子

REST和RPC之间的Web服务差异

我有一个Web服务,它接受JSON参数并具有方法的特定URL,例如:

http://IP:PORT/API/getAllData?p={JSON}
Run Code Online (Sandbox Code Playgroud)

这绝对不是REST,因为它不是无状态的.它需要考虑cookie并拥有自己的会话.

是RPC吗?RPC和REST有什么区别?

rest rpc web-services

61
推荐指数
8
解决办法
5万
查看次数

SOAP标头与HTTP标头

我正在使用Web服务开发一个程序,为此我需要将一些数据包装为消息的标题.

我想问一下,将这些数据作为SOAP标头或HTTP标头放置是否相同?

soap web-services soapheader http-headers

29
推荐指数
1
解决办法
3万
查看次数

?wsdl和?singleWsdl参数之间有什么区别?

我的消息传递提供程序为我提供了两种不同的WSDL.

http://my.amazonaws.com:8000/webservice/?wsdl
http://my.amazonaws.com:8000/webservice/?singleWsdl
Run Code Online (Sandbox Code Playgroud)

第一个是嵌入式 WSDL.不能使用它来生成WSDL2java包,也不能使用JAX-WS来创建连接.

第二个是单个 WSDL.它可以使用CXF 3.0的WSDL2java生成Java包,并可以使用JAX-WS创建连接.它工作得很好.

请告诉我这两种WSDL之间的区别.

wsdl axis2 web-services cxf jax-ws

26
推荐指数
1
解决办法
2万
查看次数

Log4j - 优先级值和参数名称概念说明

我的log4j.xml:

 <appender name="B2BAPP" class="org.apache.log4j.RollingFileAppender">
     <param name="File" value="/LOGS/SAM/B2B_VJ.log"/>   
     <param name="Threshold" value="ERROR"/> 
     <param name="MaxFileSize" value="10000KB"/>
     <param name="MaxBackupIndex" value="10"/>
     <param name="Append" value="false"/>
     <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d{dd MMM yyyy HH:mm:ss,SSS} %5p [%c:%L] %m%n"/>
     </layout>      
</appender>

<logger name="com.sas">    
   <priority value="DEBUG"/>
   <appender-ref ref="B2BAPP"/>
</logger>
Run Code Online (Sandbox Code Playgroud)

我想了解priority value ="DEBUG"param name ="Threshold"value ="DEBUG"的行为.

在我的logger(com.sas)中,我设置了优先级值"DEBUG",该记录器的appender为"B2BAPP",在"B2BAPP"中,我将"Threshold"定义为"ERROR".

那么"com.sas"的日志级别将设置为"DEBUG"或"ERROR"?

案例:

priority value ="DEBUG"和param name ="Threshold"value ="ERROR"

priority value ="ERROR"和param name ="Threshold"value ="DEBUG"

上述案件的结果会是什么?它是如何工作的?

logging log4j

21
推荐指数
1
解决办法
4万
查看次数

SaaS,SOA和Web服务

这个问题可能很愚蠢,但我真的很困惑.

我想实现一个软件即服务(SaaS),我认为我可以使用Visual Studio和WCF来实现它.但我读过WCF和Web服务是SOA实现而不是SaaS.

我可以使用WCF实施SaaS吗?SaaS,SOA和Web服务之间的关系是什么?

soa web-services saas

21
推荐指数
1
解决办法
1万
查看次数

使用捕获的流量为现有SOAP服务生成WSDL

我需要使用打印机的SOAP服务.有一个Windows工具来访问这个服务,我用它来生成SOAP请求和我需要的重要功能的响应.

现在我应该使用Python编写一个Linux客户端,我发现最简单的方法是使用suds带有WSDL文件的库.但我没有这个WSDL!

当我调查windows工具(查看可执行文件的hexdump)时,我得出结论可能根本没有WSDL文件.

现在我的问题是,有没有人体验过"逆向工程"SOAP服务,并且知道哪些工具可以用于为现有服务创建WSDL文件?(谷歌还没有提出任何有用的东西).

soap wsdl web-services

14
推荐指数
1
解决办法
2万
查看次数

MyBatis如何处理空结果集?

最近我使用的是Mybatis3,发现当你的SQL语句从数据库中获取一个空的结果集时,Mybatis会创建一个新的List并将它返回给你的程序.

给出一些代码,例如:

List<User> resultList = (List<User>)sqlSession.select("statementId");

<select id="statementId" resultType="User">
   select * from user where id > 100
</select>
Run Code Online (Sandbox Code Playgroud)

假设上面的SQL没有返回任何行(即没有大于100的id).

变量resultList将是空的List,但我希望它是null相反的.我怎样才能做到这一点?

java mysql mybatis

12
推荐指数
1
解决办法
2万
查看次数

格式化日期并使用JSTL和EL显示它

如何Date在JSP中格式化和显示对象,最好使用JSTL和EL,但是欢迎任何其他解决方案?我无法更改bean对象.

我有以下课程:

import java.util.Date;
public class Person {
    private Date myDate; 
    public Date getMyDate() {
        return myDate;
    }
    public void setMyDate(Date myDate){
        this.myDate = myDate;
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图在JSP页面中显示此对象中的日期.当我这样做时,<c:out value="${person.myDate} />它会在页面中打印出来.2013-06-08 00:00:00.0

我想要做的是删除日期的时间部分并将其格式化为MM-dd-yyyy.

我试过这个:

<c:set var="myDate" value="${person.myDate }"/>
<fmt:formatDate value="${myDate}" type="date" var="formattedDate"/>
Run Code Online (Sandbox Code Playgroud)

它给了我以下错误

无法将字符串'$ {myDate}'转换为类java.util.Date以获取属性值:java.lang.IllegalArgumentException:Property Editor未向PropertyEditorManager注册

然后我尝试了以下内容:

<c:set var="myDate" value="${person.myDate }"/>
<fmt:parseDate value="${myDate }" var="parsedDate" pattern="MM-dd-yyyy"/>
<c:out value="${parsedDate }"/>
Run Code Online (Sandbox Code Playgroud)

我得到了:

无法解析的日期:"$ {myDate}"

java jsp jstl web-applications el

10
推荐指数
1
解决办法
2万
查看次数

在mapper文件中访问mybatis sql中的public static final字符串

我有一个用MyBatis映射文件写的sql,它是这样的:

<select id="somesql">
   select a,b,c from tbl_name where d = ?
</select>
Run Code Online (Sandbox Code Playgroud)

占位符值d应该是在名为的文件中声明的常量Constants.java:

public static final String d = "d_value";
Run Code Online (Sandbox Code Playgroud)

如何在不实际传递<select>构造中的参数的情况下用值替换占位符 ?我试过#{com.pkg.name.Constants.d}但它没用.

没有硬编码!!!

java sql parameters constants mybatis

8
推荐指数
2
解决办法
5540
查看次数

MyBatis映射器中是否需要jdbcType?

我一直在寻找,我没有这么清楚.使用MyBatis映射器时,是否需要设置jdbcType?我正在使用MySql.

对于我所读到的内容,它适用于传递空值的情况,但我不知道这是否仍然是必要的还是旧的.例如,这两个查询都有效:

SELECT <include refid="columns"/> FROM user WHERE uid=#{uid, jdbcType=INTEGER}

SELECT <include refid="columns"/> FROM user WHERE uid=#{uid}
Run Code Online (Sandbox Code Playgroud)

jdbc mybatis

8
推荐指数
1
解决办法
9188
查看次数