文章目录
国庆七天乐,属实有点不太好玩,可能使因为我距离老家太远了,一来一回要老子两天的时间,坐飞机又有点舍不得(太贵,目前资金不太支持).火车卧铺还好,但在上铺确实一般,中铺还好下部yyds.睡上铺的记住一点那就是:粮食备好,上去就不要下来了(除非你"_频_急 _不尽"),不下来就是因为我本人"懒"的一批.
到家的第二天下午就开始狂风大作雷雨交加,温度一下子就降低了十几度,两位数的温度硬生生的给降到了一位数.好冷也.真的我上午穿着短袖下午就上羽绒服了!回到家没有什么可以玩的,我的朋友也没有回来,回到家们也没有特别的好玩,只是一般的好玩.
差评!绝对差评!我在郑州火车站哪里吃了一碗阿利茄汁面外加一个鸡翅和酸梅汤.外日特忒!我在火车上拉肚子拉了一晚上,真是_频_急 _不尽,真想投诉他们,我的屁股给我拉的疼死了.
下面说点正经的,上面的国庆的一下琐事.接下来说说原本"疯狂星期四"的今天及过去三天的工作.
最近我在做接口相关的开发,真是让人"怀疑人生".好在公司里有大神,今天给解决了.
可能是由于其他的问题所导致的吧(之前在现场的说没有遇到过类似的情况),我在使用soapUI测试的时候一直给报错,在群里也问了大佬们,也没有给出合理的解决方案,找到甲方也是没有找到合理的解决方案.现在也是一样,不知道soapUI为什么测试不了.值得庆幸的是可以早postman中测试成功(也是花费了好大的力气才接通,主要功劳是我司大神,感谢大佬)
soapUI报的这个错愣是看不懂是那个的问题,有晓得的大佬可以评论区留言!

现在我就很笼统的和大家过一遍,给大家看一下,如果遇到这个问题也好有思路处理.
首先我已经在soa管理页面中发布了wsdl url ,

这里需要注意的是如果wsdl url人家不能用,那就把这个wsdl url用浏览器打开,滑到最下面.找到这个标签soap:address 下的这个属性location.主要是这个属性下面的那个标签的属性对应的连接是一样的.

拿到这个location属性的链接后去postman中去测试.是可以测通的.(个人感觉有点像是本地连接)
经过同事大佬的讲解,虽然解决了但是不知所以然.后续还有慢慢去深究
postman测试的时候是需要给headers的
下面这个content-type的value 不加这个是行不通的

如果实在soapUI中传参的格式会直接给出来,但postman需要自己写(主要数一下注意事项).

使用post请求测试200就没问题了.
今天遇道的问题是在postman中传入的参数,发送到SAP系统中,SAP系统可以正常接收,但是无法根据传入的数据进行查询其他数据,但是可以在se37中正常查询到其他数据,通过srt_log查询到错误日志如下:

根据se91中可以看出具体报错的原因.
还有就是我在访问的SAP系统的时候访问的包的$TMP是本地包,这让我有点很不理解.(因为我在定义是时候是定义在Z001这个包中的,)访问的时候应该访问的是非$TMP包,因为我本地是没有任何数据,所以导致使用postman测试无法获取到数据.(是我的一个推测)

还有就是我在创建服务定义时会有一个map name名义映射关系.给大家看一下打钩和不打钩的区别:
目前发现最明显的区别是soap命名空间是不同的
打钩:


不打钩


这里不难理解soap命名空间为什么不同,但是不理解的是打钩之后我是调不通SAP接口的,不打钩是可以调通的
之前不理解为什么我调不通,现在清楚了
我们可以看到通中外部下的操作所应的命名格式是不一样的,打钩的是没有下划线的,不打钩的有下划线.所以注意这个名字.

上次说的那个问题实际上是已经解决了,因为我的接口是可以正常运行的了.
说一下我在数据传输中存在的问题.
其实就是因为我在postman中给的参数是小写,而SAP系统中的参数是大写,由此导致.改完大写后就可以正常做转储了.
就是下面的两个值写成小写了.

为了防止用户输入(或者外部系统)没有做大小写转换,因此需要在函数模块中弄个函数做大小写转换.
就是这个函数
"转大写
to_upper( ls_int_data-nlber )
"转小写
to_lower( ls_int_data-nlber ).
.

本篇博客的接口是webservice形式的 他的逻辑处理的RFC 函数模块
webservice-提供者的创建参考输入输出都是以表的形式进行的,但是记得去se80中把他取消已公开,这样就是你懂的
就是在做接口的时候一定要先清楚你的输入输出的参数然后把框架给搭建起来,就是先把接口给调通,然后再处理里面的具体逻辑(个人观点仅供参看).

很好奇,就使用rubyonrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我有一个围绕一些对象的包装类,我想将这些对象用作散列中的键。包装对象和解包装对象应映射到相同的键。一个简单的例子是这样的:classAattr_reader:xdefinitialize(inner)@inner=innerenddefx;@inner.x;enddef==(other)@inner.x==other.xendenda=A.new(o)#oisjustanyobjectthatallowso.xb=A.new(o)h={a=>5}ph[a]#5ph[b]#nil,shouldbe5ph[o]#nil,shouldbe5我试过==、===、eq?并散列所有无济于事。
我有一些Ruby代码,如下所示:Something.createdo|x|x.foo=barend我想编写一个测试,它使用double代替block参数x,这样我就可以调用:x_double.should_receive(:foo).with("whatever").这可能吗? 最佳答案 specify'something'dox=doublex.should_receive(:foo=).with("whatever")Something.should_receive(:create).and_yield(x)#callthere
Sinatra新手;我正在运行一些rspec测试,但在日志中收到了一堆不需要的噪音。如何消除日志中过多的噪音?我仔细检查了环境是否设置为:test,这意味着记录器级别应设置为WARN而不是DEBUG。spec_helper:require"./app"require"sinatra"require"rspec"require"rack/test"require"database_cleaner"require"factory_girl"set:environment,:testFactoryGirl.definition_file_paths=%w{./factories./test/
我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test
我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r
我在app/helpers/sessions_helper.rb中有一个帮助程序文件,其中包含一个方法my_preference,它返回当前登录用户的首选项。我想在集成测试中访问该方法。例如,这样我就可以在测试中使用getuser_path(my_preference)。在其他帖子中,我读到这可以通过在测试文件中包含requiresessions_helper来实现,但我仍然收到错误NameError:undefinedlocalvariableormethod'my_preference'.我做错了什么?require'test_helper'require'sessions_hel
只是想确保我理解了事情。据我目前收集到的信息,Cucumber只是一个“包装器”,或者是一种通过将事物分类为功能和步骤来组织测试的好方法,其中实际的单元测试处于步骤阶段。它允许您根据事物的工作方式组织您的测试。对吗? 最佳答案 有点。它是一种组织测试的方式,但不仅如此。它的行为就像最初的Rails集成测试一样,但更易于使用。这里最大的好处是您的session在整个Scenario中保持透明。关于Cucumber的另一件事是您(应该)从使用您的代码的浏览器或客户端的角度进行测试。如果您愿意,您可以使用步骤来构建对象和设置状态,但通常您
我有:When/^(?:|I)follow"([^"]*)"(?:within"([^"]*)")?$/do|link,selector|with_scope(selector)doclick_link(link)endend我打电话的地方:Background:GivenIamanexistingadminuserWhenIfollow"CLIENTS"我的HTML是这样的:CLIENTS我一直收到这个错误:.F-.F--U-----U(::)failedsteps(::)nolinkwithtitle,idortext'CLIENTS'found(Capybara::Element