我打算为iPhone开发一个应用程序,该应用程序必须访问几个SOAP服务.在iPhone SDK中进行一些基本检查时,我无法找到任何访问SOAP服务的支持,一点谷歌搜索得出的结论是iPhone SDK中不支持SOAP.
因此,如果我想构建该应用程序,我需要提出一种从iPhone访问SOAP服务的方法.什么是最好的方法?任何最佳做法?有人已经使用iPhone SDK中存在的功能来编写库以访问SOAP服务吗?
(由于我需要访问的服务是由另一方公开的,并且它们只将它公开为SOAP,遗憾的是不能选择切换到另一种类型的接口(例如基于REST的API).
格罗
我有一个UITextView包含在UITableViewCell.最初显示视图时,布局是正确的,但是一旦我点击UITextView它就会自动向上滚动一下,第一行上的字符的上半部分变得不可见.
此图像是UITextView未激活时:
UITextView未激活http://gerodt.homeip.net/uitextview-notactive.png
这个是当我点击UITextView它使其激活时:
UITextView活动http://gerodt.homeip.net/uitextview-active.png
我根本不向上滚动UITextView,它应该简单地保持固定.我怎样才能做到这一点?我已经尝试了几个设置Interface Builder,但到目前为止没有运气.
任何建议表示赞赏.
格罗
我正在尝试在Google App Engine上使用Lift 2.1-SNAPSHOT,但HTML中的电梯片段尚未处理.它只返回HTML文件.
这是lift.html文件(只是一个简单的测试):
<lift:surround with="default" at="content">
Welcome to your Lift application
</lift:surround>
Run Code Online (Sandbox Code Playgroud)
web.xml有:
<filter>
<filter-name>LiftFilter</filter-name>
<display-name>Lift Filter</display-name>
<description>The Filter that intercepts lift calls</description>
<filter-class>net.liftweb.http.LiftFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LiftFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)
appengine-web.xml包含:
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>kivanotify</application>
<version>6</version>
<static-files/>
<resource-files/>
<system-properties>
<property name="java.util.logging.config.file" value="WEB-INF/classes/logging.properties"/>
<property name="in.gae.j" value="true" />
</system-properties>
<sessions-enabled>true</sessions-enabled>
<static-files>
<exclude path="/static/**" />
</static-files>
</appengine-web-app>
Run Code Online (Sandbox Code Playgroud)
使用"/opt/appengine-java-sdk-1.3.6/bin/dev_appserver.sh target/kivanotify"运行项目并访问url http:// localhost:8080/lift.html很简单时返回lift.html因为没有处理标签.
知道为什么标签没有被处理?没有记录提示问题的日志记录.
此致,Gero
我正在遇到一种情况,我从外部服务器检索一些Json(我对该服务器没有任何控制权).Json有一个元素可能会出现一次或多次.我正在尝试使用net.liftweb.json工具解析它,只有在元素出现多次时才能正常工作.如果元素只出现一次,则无法解析.
这是一些示例代码:
import net.liftweb.json._
import net.liftweb.json.JsonDSL._
case class JSonListIssue(foo: List[String])
class JSonTest extends TestCase {
implicit val formats = net.liftweb.json.DefaultFormats;
def testJsonList {
val jsonStr2Foos = "{\"foo\": \"bar\", \"foo\": \"bar2\"}"
val json = (parse(jsonStr2Foos).extract[JSonListIssue])
assertEquals(2, json.foo.size)
val jsonStr1Foo = "{\"foo\": \"bar\"}"
val json2 = (parse(jsonStr1Foo).extract[JSonListIssue]) // Results in Json MappingException
assertEquals(1, json2.foo.size)
}
}
Run Code Online (Sandbox Code Playgroud)
第二个解析语句在上面的代码中失败.如果我将如下定义case类,第二个解析将起作用,但第一个解析将失败.
case class JSonListIssue(foo: String)
Run Code Online (Sandbox Code Playgroud)
关于如何以干净的方式解决这个问题的任何建议?我当然可以捕获MappingException,然后使用其他case类解析它,但那脏...
谢谢,Gero
我们有一个 IBM MQ v8 设置,其中包含 1 个大容量非持久队列和该队列上的许多使用者(50 多个)。需要大量消费者才能处理在队列上发布的大量消息。
我们现在注意到的是,队列管理器没有将消息均匀地分配给 X 个使用者。少数消费者每分钟最多收到 300 条消息,而许多其他消费者每分钟只能收到几条消息 (<10)。并且,队列上有很多消息,队列深度在稳步增加。消费端的 CPU 和内存都不是问题,两者的利用率都小于 50%。
有人可以解释 IBM MQ 队列管理器如何在多个消费者之间分发消息吗?是否有可能在服务器或消费者端影响这一点,以便消息在可用消费者上更均匀地分布?
在 Mark Taylors 回应后添加
我们面临的挑战是每分钟有超过 10.000 条消息添加到队列中,我们无法足够快地使用它们。我们当前的设置是我们有一个在 Docker 容器中运行的简单使用者,我们通过运行多个容器进行扩展。运行 12 个消费者(Docker 容器)确实会增加整体吞吐量,运行 50 多个消费者不会增加任何吞吐量。每个消费者都很简单:
1. connect to queue manager
2. Connect to queue
3. While true
- Get message from queue
- Process message (commenting this out does not increase overall performance)
Run Code Online (Sandbox Code Playgroud)
我们怎样才能获得更多的消息消费性能?例如,如果在一个容器中我们连接到队列管理器一次,然后让多个线程使用同一个队列管理器连接到队列并获取消息,这会有所帮助吗?或者我们甚至应该在多个线程上重用队列?
问候,
下吕
iphone ×2
lift ×2
scala ×2
ibm-mq ×1
ios ×1
json ×1
lift-json ×1
scala-2.8 ×1
soap ×1
uitableview ×1
uitextview ×1
web-services ×1
wsdl ×1