小编Ger*_*ero的帖子

如何从iPhone访问SOAP服务

我打算为iPhone开发一个应用程序,该应用程序必须访问几个SOAP服务.在iPhone SDK中进行一些基本检查时,我无法找到任何访问SOAP服务的支持,一点谷歌搜索得出的结论是iPhone SDK中不支持SOAP.

因此,如果我想构建该应用程序,我需要提出一种从iPhone访问SOAP服务的方法.什么是最好的方法?任何最佳做法?有人已经使用iPhone SDK中存在的功能来编写库以访问SOAP服务吗?

(由于我需要访问的服务是由另一方公开的,并且它们只将它公开为SOAP,遗憾的是不能选择切换到另一种类型的接口(例如基于REST的API).

格罗

iphone soap wsdl web-services ios

224
推荐指数
3
解决办法
15万
查看次数

如何在输入时阻止UITextView向上滚动

我有一个UITextView包含在UITableViewCell.最初显示视图时,布局是正确的,但是一旦我点击UITextView它就会自动向上滚动一下,第一行上的字符的上半部分变得不可见.

此图像是UITextView未激活时:
UITextView未激活http://gerodt.homeip.net/uitextview-notactive.png

这个是当我点击UITextView它使其激活时:
UITextView活动http://gerodt.homeip.net/uitextview-active.png

我根本不向上滚动UITextView,它应该简单地保持固定.我怎样才能做到这一点?我已经尝试了几个设置Interface Builder,但到目前为止没有运气.

任何建议表示赞赏.

格罗

iphone uitableview uitextview

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

使用Scala 2.8在Google App Engine上使用Lift 2.1

我正在尝试在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

google-app-engine scala lift scala-2.8

5
推荐指数
1
解决办法
2055
查看次数

使用1个元素解析Json列表(Scala/liftweb)

我正在遇到一种情况,我从外部服务器检索一些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

json scala lift lift-json

5
推荐指数
1
解决办法
474
查看次数

IBM MQ QM 如何在多个消费者之间分发消息

我们有一个 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)

我们怎样才能获得更多的消息消费性能?例如,如果在一个容器中我们连接到队列管理器一次,然后让多个线程使用同一个队列管理器连接到队列并获取消息,这会有所帮助吗?或者我们甚至应该在多个线程上重用队列?

问候,

下吕

ibm-mq

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