我在bash脚本中使用curl来获取服务的响应,如下所示,
response=$(curl -isb -H "Accept: application/json" "http://host:8080/some/resource")
Run Code Online (Sandbox Code Playgroud)
服务响应是json类型,在浏览器上我可以完美地响应.
但是curl响应还有其他不需要的东西(比如set-cookie,在这种情况下是内容长度标题),有时实际响应会被吃掉.
这是echo $response> 的输出
Set-Cookie: rack.session=BAh7CEkiD3Nlc3Npb25faWQGOgZFVEkiRWJlY2JiOTE2M2Q1ZWI4NThjMDdi%0AYjRiOWRjMGMxMGEwYTBkMjE3NmJhZDVjYzY4YjY4ZTlmMTE2ZGVkYWE3MTMG%0AOwBGS
SIJY3NyZgY7AEZJIiVhZmQ2MmUyZGMxMzFmOGEwMjg3NDlhNWM3YmVm%0AN2FjNwY7AEZJIg10cmFja2luZwY7AEZ7B0kiFEhUVFBfVVNFUl9BR0VOVAY7%0AAFRJIi00MTc0OGM2MWNkMzljZTYxNzY3ZjU0
Y2I5OTdiYWRkN2MyNTBkYmU4%0ABjsARkkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsAVEkiLWRhMzlhM2VlNWU2%0AYjRiMGQzMjU1YmZlZjk1NjAxODkwYWZkODA3MDkGOwBG%0A--ee97a62095e7d42129
tontent-Length: 354c8; path=/; HttpOnly
Run Code Online (Sandbox Code Playgroud)
这打破了我的响应解析逻辑.
我间歇地看到这种情况很奇怪.
有没有办法从卷曲输出中获得"仅" json响应?
我浏览了curl文档,但看不到任何东西/或者我可能错过了它.
感谢任何帮助!谢谢
我正面临着sonarqube 5.0.1的奇怪问题,这是一台没有启动的机器.这是错误日志 - sonar.log -
--> Wrapper Started as Daemon
Launching a JVM...
Unable to start JVM: No such file or directory (2)
JVM exited while loading the application.
JVM Restarts disabled. Shutting down.
<-- Wrapper Stopped
Run Code Online (Sandbox Code Playgroud)
机器是x86_64 GNU/Linux - Centos 5.1.
这个盒子安装了java -
$java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)
同一个sonarqube包在另一台机器上工作.
知道这里有什么问题吗?
谢谢.
我是Camel的新手,想知道如何使用Camel实现下面提到的用例,
我们有一个REST Web服务,让我们说它有两个服务操作callA和callB.现在我们在前面有ESB层,在访问这些实际的Web服务URL之前拦截客户端请求.
现在我试图做这样的事情 - 在客户端实际调用的ESB中公开一个URL.在ESB中,我们使用的是Camel的Jetty组件,它只代理此服务调用.所以我们说这个URL是/ my-service/scan /
现在收到此请求@ESB,我想调用这两个REST端点(callA和callB) - >获取它们的响应 - resA和resB - >将它聚合到单个响应对象resScan - >返回到客户端.
我现在所拥有的只是 -
<route id="MyServiceScanRoute">
<from uri="jetty:http://{host}.{port}./my-service/scan/?matchOnUriPrefix=true&bridgeEndpoint=true"/>
<!-- Set service specific headers, monitoring etc. -->
<!-- Call performScan -->
<to uri="direct:performScan"/>
</route>
<route id="SubRoute_performScan">
<from uri="direct:performScan"/>
<!-- HOW DO I??
Make callA, callB service calls.
Get their responses resA, resB.
Aggregate these responses to resScan
-->
</route>
Run Code Online (Sandbox Code Playgroud) 面对启动Jenkins实例的问题..这里是日志,我使用1.542(也尝试过以前的版本,但没有成功)
有人正面临这样的问题吗?
它看起来非常类似于https://issues.jenkins-ci.org/browse/JENKINS-20609但不确定是否就是这种情况
Running from: /home/jenkins/jenkins-latest.war
webroot: $user.home/.jenkins
Dec 04, 2013 11:11:38 PM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: jetty-8.y.z-SNAPSHOT
Dec 04, 2013 11:11:38 PM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: Extract jar:file:/home/jenkins/jenkins-latest.war!/ to /tmp/jetty-0.0.0.0-8080-jenkins-latest.war--any-/webapp
Dec 04, 2013 11:11:41 PM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: NO JSP Support for , did not find org.apache.jasper.servlet.JspServlet
Jenkins home directory: /root/.jenkins found at: $user.home/.jenkins
Dec 04, 2013 11:11:41 PM hudson.util.BootFailure publish
SEVERE: Failed to initialize Jenkins
hudson.util.AWTProblem: java.lang.NullPointerException
at hudson.WebAppMain.contextInitialized(WebAppMain.java:182)
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:782)
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:424)
at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:774)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249)
at …Run Code Online (Sandbox Code Playgroud) 我正在尝试将依赖注入与 OSGI 蓝图结合使用。
我想通过在 XML DSL 中指定它来构造枚举对象。
在 Spring 上下文 XML 中,这看起来像 -
<bean id="MyTestEnum" class="com.foo.TestEnum"
factory-method="valueOf">
<constructor-arg>
<value>TYPEA</value>
</constructor-arg>
</bean>
Run Code Online (Sandbox Code Playgroud)
如何在 OSGI Blueprint XML 文件中实现这一点?我在标签处看到架构验证错误..
感谢任何指针!
谢谢。
我有一个类似的代码 -
// use streaming to increase index throughput
.setHeader(SolrConstants.OPERATION,
constant(SolrConstants.OPERATION_INSERT_STREAMING))
// define solr endpoint and options
.to("solr://"
+ getSolrEndPoint()
+ "?defaultMaxConnectionsPerHost=500&streamingThreadCount=500&maxRetries=3")
.log(LoggingLevel.INFO, "Successfully indexed document id [" +header(BatchHeaders.DOCUMENT_ID) +"]")
// end this route
.end();
Run Code Online (Sandbox Code Playgroud)
但我在日志中得到的是 -
severity="INFO " thread="Camel (camel-1) thread #123 - seda://insert" category="route2" Successfully indexed document id [header{DOC_ID}]
Run Code Online (Sandbox Code Playgroud)
我没有得到实际的标题值(文档 ID)。
所以我的问题是 - 如何在此处访问 Java DSL 中的标头?
apache-camel ×2
aggregation ×1
bash ×1
curl ×1
esb ×1
jenkins ×1
json ×1
osgi ×1
rest ×1
sonarqube ×1
web-services ×1